API Reference xitdb v#1.0.1

Copy Markdown View Source

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).