Skip to main content

Crate vsdb

Crate vsdb 

Source
Expand description

§vsdb

vsdb is a high-performance, embedded database designed to feel like using Rust’s standard collections. It provides persistent, disk-backed data structures — Mapx (a HashMap-like map), MapxOrd (a BTreeMap-like ordered map), and VerMap (Git-model versioned storage with branching, commits, and merge).

This crate is the primary entry point for most users.

Re-exports§

pub use basic::mapx::Mapx;
pub use basic::mapx_ord::MapxOrd;
pub use basic::mapx_ord_rawkey::MapxOrdRawKey;
pub use basic::orphan::Orphan;
pub use common::ende::KeyDe;
pub use common::ende::KeyEn;
pub use common::ende::KeyEnDe;
pub use common::ende::KeyEnDeOrdered;
pub use common::ende::ValueDe;
pub use common::ende::ValueEn;
pub use common::ende::ValueEnDe;
pub use dagmap::DagMapId;
pub use dagmap::raw::DagMapRaw;
pub use dagmap::rawkey::DagMapRawKey;
pub use vsdb_core;

Modules§

basic
User-facing, typed data structures (e.g., Mapx, MapxOrd).
common
Common Components
dagmap
Data structures for representing directed acyclic graphs (DAGs).
versioned
Git-model versioned storage: branches, commits, merge, and history.

Macros§

cow_bytes_bounds
define_map_wrapper
entry_or_insert_via_mock
parse_int
A macro to parse a byte slice into a specified integer type.
parse_prefix
A macro to parse a byte slice into a Pre type.

Structs§

MapxRaw
A raw, disk-based, key-value map.
PersistentBTree
A persistent (copy-on-write) B+ tree backed by MapxRaw.

Constants§

GB
A constant representing 1 gigabyte in bytes.
KB
A constant representing 1 kilobyte in bytes.
MB
A constant representing 1 megabyte in bytes.
NULL
A constant representing a null or empty byte slice.

Traits§

BatchTrait
Trait for batch write operations

Functions§

vsdb_flush
Flushes all data to disk.
vsdb_get_base_dir
Returns the base directory path for VSDB.
vsdb_get_custom_dir
Returns the custom directory path for VSDB.
vsdb_set_base_dir
Sets the base directory path for VSDB manually.

Type Aliases§

RawBytes
A type alias for a vector of bytes, commonly used for raw data.
RawKey
A type alias for a raw key, represented as a vector of bytes.
RawValue
A type alias for a raw value, represented as a vector of bytes.