Skip to main content

Crate lix

Crate lix 

Source
Expand description

Rust SDK for Lix.

Embedded version control for files and data.

§Quick start

let lix = lix::open_lix().await?;

open_lix opens an in-memory repository. Add a storage adapter with OpenLixBuilder::with_storage when persistence is needed.

Re-exports§

pub use telemetry::bind_session;
pub use storage::Memory;
pub use lix_schema as schema_v1;

Modules§

plugin
Lix plugin authoring and runtime integration.
snapshot
storage
Primary storage API.
telemetry
wasm
General WebAssembly compute configuration for Lix.

Structs§

Blob
Immutable, cheaply cloned binary SQL value.
BranchId
CallbackOpenProgressSink
Adapts a Rust closure to OpenProgressSink.
CanonicalPluginKey
CanonicalSchemaKey
CreateBranchOptions
Options for creating a new branch from the session’s active branch.
CreateBranchReceipt
Receipt returned after creating a branch.
ExecuteBatchBuilder
Configures one atomic SQL batch execution.
ExecuteBatchStatement
One SQL statement to execute as part of an atomic batch.
ExecuteBuilder
Configures one SQL statement execution.
ExecuteResult
Result of executing one SQL statement through engine.
FileId
Json
Canonical JSON text carried by a SQL value.
Lix
Clonable handle for a Lix repository.
LixError
Structured error type surfaced by Lix to every SDK binding.
LixNotice
LixPath
A validated absolute Lix logical filesystem path.
LixTransaction
MergeBranchOptions
Options for merging another branch into this session’s active branch.
MergeBranchPreview
MergeBranchPreviewOptions
Options for previewing a merge from another branch into this session’s active branch.
MergeBranchReceipt
Receipt returned after merging a branch.
MergeChangeStats
MergeConflict
MergeConflictSide
ObserveEvent
ObserveEvents
A live query observation bound to the storage session owned by its Lix handle.
OpenAnotherSessionBuilder
Configures another independent session for an open Lix repository.
OpenLixBuilder
Configures the primary session for a Lix repository.
OpenLixFromSnapshotBuilder
Restores a snapshot into fresh storage and then opens the resulting Lix.
OpenMigrationReport
The migration performed by this open, if any.
OpenProgress
One Lix-open progress snapshot.
OpenReport
Immutable facts about how this handle was opened.
RedoReceipt
ResultRowRef
Zero-copy row view with access to the result-set column names.
Row
One owned row returned by a query.
RowRef
Opaque address of one logical row in one Lix relation.
ServerOptions
Configures the server associated with a local Lix repository.
SessionTransaction
SharedStr
Immutable UTF-8 backed by a cheaply cloned byte buffer.
SqlQueryResult
SwitchBranchOptions
Options for switching a session to another branch.
SwitchBranchReceipt
Receipt returned after switching to another branch.
TransactionExecuteBuilder
Configures one SQL statement inside an explicit transaction.
UndoReceipt
WireQueryResult

Enums§

MergeBranchOutcome
MergeConflictChangeKind
MergeConflictKind
NullableKeyFilter
OpenPhase
Coarse, stable phases suitable for a CLI, loading screen, or logs.
ResultColumnType
Stable SQL result type exposed at language and protocol boundaries.
ServerMode
Server behavior for an opened local Lix repository.
Value
WireValue

Constants§

ANONYMOUS_ACCOUNT_ID
Fixed author used when a host opens a session without an authenticated account.
GLOBAL_BRANCH_ID
Reserved high UUID sentinel for repository-global state.
SYSTEM_ACCOUNT_ID
Fixed author for engine-owned initialization and maintenance changes.

Traits§

OpenProgressSink
A non-blocking observer for Lix open and automatic migration.
TryFromValue

Functions§

lix_schema_definition
lix_schema_definition_json
open_lix
Starts configuring the primary session for a Lix repository.
validate_lix_path_segment
Validates one literal segment of a Lix logical filesystem path.
validate_lix_schema
validate_lix_schema_definition