Modules
Idiomatic Elixir client and Odin NIF wrapper for xitdb,
an embeddable, immutable, append-only database with persistent structural sharing.
Compile-time and runtime introspection helpers for Xitdb.Ash.Resource.
Spark DSL extension declaring Xitdb MDM collection mappings, synced field
projections, secondary B+Tree indexes, and lock actions on an Ash.Resource.
Automatically attaches the resource's configured lock_change (or
Application.get_env(:xitdb, :default_lock_change)) to lock_action and unlock_action,
and persists precompiled Xitdb projection metadata (editable_field_strings, pull_fields,
pull_pattern, store, lock_change, and normalized_indexes) onto the resource.
Provides tx_for/3, tx_for/4, tx_for!/3, and tx_for!/4 macros that wrap
Xitdb.DSL.tx and automatically inject all index_on declarations configured on
one or more Xitdb.Ash.Resource modules.
Verifies at compile time that
Explicit wrapper struct for selecting a specific xitdb persistent collection
backing structure when writing nested data in Xitdb.transact/3.
Clojure/Datomic-style lazy cursor representing a 9-byte Slot (tag + value)
in an immutable xitdb store.
Compile-time macro DSL for Xitdb path selectors, transaction mutation blocks,
structural Pull patterns, and Ecto/Datomic-style Datalog queries.
Structured exception returned or raised when a Xitdb operation fails.
Compiles structured Elixir Pull patterns into canonical xitdb Pull syntax strings.
Compile-time validated sigils for xitdb path selectors (~x) and Datalog queries (~q).