Skip to main content

Crate nexir_mvcc_core

Crate nexir_mvcc_core 

Source
Expand description

Standalone, deterministic Multi-Version Concurrency Control (MVCC) core library.

This library provides the core primitives needed to build durable, transactional key-value databases without imposing a specific runtime or storage engine. It is completely independent of Tokio, networking, or specific consensus implementations.

Key components:

  • MvccEngine: The main entry point for executing read, write, and batch operations.
  • Backend: A trait that must be implemented by the durable storage layer.
  • types: Core data structures like Intent, CommittedVersion, ReadGuard, and PhysicalWrite.
  • error: Precision typed error enums for handling validation and conflict states.

When the conformance feature is enabled, a test macro is exposed for external Backend implementers.

Re-exports§

pub use backend::Backend;
pub use backend::InMemoryBackend;
pub use codec::decode_committed;
pub use codec::decode_intent;
pub use codec::encode_committed;
pub use codec::encode_intent;
pub use engine::GcBudget;
pub use engine::GcOptions;
pub use engine::GcStats;
pub use engine::IncrementalGcCursor;
pub use engine::IncrementalGcResult;
pub use engine::MvccEngine;
pub use error::AbortError;
pub use error::BatchAbortError;
pub use error::BatchCommitError;
pub use error::BatchError;
pub use error::BatchPrewriteError;
pub use error::CodecError;
pub use error::CommitError;
pub use error::GcError;
pub use error::PrewriteError;
pub use error::ReadError;
pub use types::CommittedVersion;
pub use types::Intent;
pub use types::Key;
pub use types::Mutation;
pub use types::PhysicalWrite;
pub use types::ReadGuard;
pub use types::Timestamp;
pub use types::TxnId;
pub use types::Value;

Modules§

backend
Storage backend trait and implementations.
codec
Deterministic binary serialization.
engine
The core MVCC engine logic.
error
Explicit error types.
types
Core types used throughout the library.