Crate rocksolid

Source
Expand description

Core non-transactional RocksDB store implementation and common types/modules.

Re-exports§

pub use batch::BatchWriter;
pub use cf_store::RocksDbCFStore;
pub use cf_store::CFOperations;
pub use config::RocksDbStoreConfig;
pub use config::RocksDbCFStoreConfig;
pub use config::BaseCfConfig;
pub use config::MergeOperatorConfig;
pub use config::MergeFn;
pub use config::RecoveryMode;
pub use config::RockSolidCompactionFilterRouterConfig;
pub use error::StoreError;
pub use error::StoreResult;
pub use merge::MergeRouteHandlerFn;
pub use merge::MergeRouterBuilder;
pub use serialization::deserialize_value;
pub use serialization::serialize_value;
pub use serialization::deserialize_kv;
pub use serialization::deserialize_kv_expiry;
pub use store::RocksDbStore;
pub use tuner::TuningProfile;
pub use tx::RocksDbTxnStore;
pub use tx::Tx;
pub use tx::WriteBatchTransaction;
pub use types::IterationControlDecision;
pub use types::MergeValue;
pub use types::MergeValueOperator;
pub use types::ValueWithExpiry;
pub use rocksdb;
pub use matchit;

Modules§

batch
bytes
cf_store
compaction_filter
config
Configuration structures and helpers for the RocksDB store. Includes new CF-aware configurations and maintains the original RocksDbConfig for backward compatibility (e.g., for the default-CF transactional store).
error
iter
macros
merge
serialization
store
tuner
Provides types and traits for applying tuning profiles to RocksDB options.
tx
Provides types and functions for working with RocksDB Transactions. Includes the RocksDbTxnStore alias, Tx and WriteBatchTransaction types, and helpers for operating within pessimistic transactions or transactional write batches.
types
utils

Macros§

generate_dao_exists_cf
Generates a function body to check if a key exists in a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_get
Generates a function body to get a single record by key from the default CF. Use with RocksDbStore.
generate_dao_get_cf
Generates a function body to get a single record by key from a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_get_with_expiry
Generates a function body to get a single record with its expiry time by key from the default CF. Use with RocksDbStore.
generate_dao_get_with_expiry_cf
Generates a function body to get a single record with its expiry time by key from a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_merge
Generates a function body to merge a value using a MergeValue operand into the default CF. Use with RocksDbStore.
generate_dao_merge_cf
Generates a function body to merge a value using a MergeValue operand into a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_merge_in_txn
Generates a function body to merge a value using a MergeValue operand within a transaction (default CF). Assumes $transaction is a &rocksolid::tx::Tx.
generate_dao_multiget
Generates a function body to get multiple records by a list of keys/IDs from the default CF. Use with RocksDbStore.
generate_dao_multiget_cf
Generates a function body to get multiple records by a list of keys/IDs from a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_multiget_preserve_order
Generates a function body to get multiple records by a list of keys/IDs from the default CF, preserving input order. Use with RocksDbStore.
generate_dao_multiget_preserve_order_cf
Generates a function body to get multiple records by a list of keys/IDs from a specific CF, preserving order. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_multiget_with_expiry
Generates a function body to get multiple records with expiry by a list of keys/IDs from the default CF. Use with RocksDbStore.
generate_dao_multiget_with_expiry_cf
Generates a function body to get multiple records with expiry by a list of keys/IDs from a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_put
Generates a function body to set (put) a single record by key into the default CF. Use with RocksDbStore.
generate_dao_put_cf
Generates a function body to set (put) a single record by key into a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_put_in_txn
Generates a function body to set (put) a single record by key within a transaction (default CF). Assumes $transaction is a &rocksolid::tx::Tx and that rocksolid::tx::put_in_txn helper exists.
generate_dao_put_with_expiry
Generates a function body to set (put) a single record with an expiry time into the default CF. Use with RocksDbStore.
generate_dao_put_with_expiry_cf
Generates a function body to set (put) a single record with an expiry time into a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_put_with_expiry_in_txn
Generates a function body to set (put) a single record with an expiry time within a transaction (default CF). Assumes $transaction is a &rocksolid::tx::Tx and that rocksolid::tx::put_with_expiry_in_txn helper exists.
generate_dao_remove
Generates a function body to remove a single record by key from the default CF. Use with RocksDbStore.
generate_dao_remove_cf
Generates a function body to remove a single record by key from a specific CF. Use with RocksDbCFStore or any type implementing CfOperations.
generate_dao_remove_in_txn
Generates a function body to remove a single record by key within a transaction (default CF). Assumes $transaction is a &rocksolid::tx::Tx.
tunable_methods
Macro to generate set_... (locking) and tune_... (conditional) methods for Tunable<rocksdb::Options>.