Skip to main content

Crate infinite_db

Crate infinite_db 

Source
Expand description

InfiniteDB crate root.

This crate exposes core spatial data types and, via feature flags, optional embedded storage, server, and sync layers.

§Database entry point

InfiniteDb is the CRCW embedded database (formats v2–v4, v4 default): concurrent reads, fire-and-forget writes, branch overlays, and merge. It is Send/Sync. Use OpenOptions to tune I/O threads and format version.

§Feature flags

  • embedded (default) — InfiniteDb, storage engine
  • server — TCP API (embedded + tokio)
  • sync — replication, conflict queue, branch merge helpers (server)
  • legacy-v1 — internal v1 WAL engine (compile-only reference; not exposed in the public API)

§Migrating from 0.2.0

0.3.0 replaces the single-threaded WAL InfiniteDb with a CRCW engine. Bulk write APIs (insert_records_bulk, hyperedge/signal bulk import) are no longer public. Hyperedge and signal types remain in infinitedb_core for upstream modeling; use record-level InfiniteDb::insert / InfiniteDb::query or stay on crate 0.2.0 if you need the old bulk surface. See the crate README and CHANGELOG.md for the full breaking-change list.

§Semantic Vocabulary

  • Space: named N-dimensional dataset with fixed dimensionality.
  • Address: (SpaceId, DimensionVector) coordinate key for a record.
  • Node: any domain entity represented as one or more records in a space.
  • Hyperedge: explicit relationship linking 2+ endpoint nodes.
  • Signal: scoped field/sample value over a parent hyperspace prefix.
  • Scope: fixed coordinate prefix that bounds child records.
  • Revision: monotonic logical write clock (RevisionId).
  • Snapshot: immutable view assembled from sealed blocks.
  • Tombstone: logical delete marker for an address/revision.
  • Adapter: optional trait-based upstream layer for typed labels and spaces.

Re-exports§

pub use infinitedb_storage::format::FormatVersion;
pub use infinitedb_storage::format::FORMAT_VERSION_V2;
pub use infinitedb_storage::format::FORMAT_VERSION_V3;
pub use infinitedb_storage::format::FORMAT_VERSION_V4;
pub use infinitedb_server::api::handle_request;
pub use infinitedb_server::api::ApiError;
pub use infinitedb_server::api::Request;
pub use infinitedb_server::api::Response;
pub use infinitedb_server::api::WireConflict;
pub use infinitedb_server::runtime::admin_grants;
pub use infinitedb_server::runtime::client_roundtrip;
pub use infinitedb_server::runtime::Server;
pub use infinitedb_server::runtime::ServerConfig;
pub use infinitedb_server::session::AccessLevel;
pub use infinitedb_server::session::Session;
pub use infinitedb_server::session::SessionId;
pub use infinitedb_server::session::SpaceGrant;
pub use infinitedb_storage::cluster::ClusterMeta;
pub use infinitedb_sync::conflict_queue::resolution_record;
pub use infinitedb_sync::conflict_queue::resolution_tombstone;
pub use infinitedb_sync::conflict_queue::ConflictQueue;
pub use infinitedb_sync::conflict_queue::StoredConflict;
pub use infinitedb_sync::replicate::branch_sync_state;
pub use infinitedb_sync::replicate::converge_main_records;
pub use infinitedb_sync::replicate::converge_with_branch_merge;
pub use infinitedb_sync::replicate::import_branch_overlay;
pub use infinitedb_sync::replicate::snapshot_merkle;
pub use infinitedb_sync::replicate::BranchSyncState;
pub use infinitedb_core::merge::MergeConflict;
pub use infinitedb_core::merge::MergeResult;
pub use infinitedb_core::merge::MergeStrategy;
pub use infinitedb_storage::wal::WalDurability;

Modules§

infinitedb_core
Core spatial and branching types. Core domain types for InfiniteDB.
infinitedb_index
Hilbert and dimension encoding utilities. Indexing primitives used to map multi-dimensional data into ordered keys.
infinitedb_server
Server-facing API and session management. Server-side API and session abstractions.
infinitedb_storage
Embedded storage engine components. Embedded storage engine components.
infinitedb_sync
Synchronization and replication primitives. Synchronization and replication protocols.

Structs§

HilbertCoordinator
Routes main-branch writes to per Hilbert-shard I/O threads; branch writes stay in overlays.
InfiniteDb
Thread-safe embedded database with concurrent reads and fire-and-forget writes.
IoStats
Runtime statistics for the I/O thread.
IoThreadConfig
Tuning for the dedicated I/O thread.
OpenOptions
Options for opening InfiniteDb (formats v2–v4).
ReadTxn
Concurrent read view pinned at a revision ceiling.
SpaceCoordinator
Routes fire-and-forget writes to per-space I/O threads.
WriteJob
A single write job enqueued by application threads.

Enums§

WriteRoute