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 likeIntent,CommittedVersion,ReadGuard, andPhysicalWrite.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;