rocksolid 2.5.6

An ergonomic, high-level RocksDB wrapper for Rust. Features CF-aware optimistic & pessimistic transactions, advanced routing for merge operators and compaction filters, performance tuning profiles, batching, TTL values, and DAO macros.
Documentation
[dependencies.base62]
optional = true
version = "2"

[dependencies.bytevec]
version = "^0.2"

[dependencies.either]
version = "1.8"

[dependencies.fast_radix_trie]
version = "1.0.0"

[dependencies.log]
version = "^0.4"

[dependencies.matchit]
version = "^0.8"

[dependencies.natlex_sort]
optional = true
version = "^0.1"

[dependencies.natord]
optional = true
version = "^1.0"

[dependencies.num_cpus]
version = "^1"

[dependencies.once_cell]
version = "^1"

[dependencies.parking_lot]
version = "^0.12"

[dependencies.paste]
version = "^1.0"

[dependencies.rlimit]
version = "0.10"

[dependencies.rmp]
version = "^0.8"

[dependencies.rmp-serde]
version = "^1.3"

[dependencies.rocksdb]
default-features = false
version = "^0.24"

[dependencies.serde]
features = ["derive"]
version = "^1.0"

[dependencies.serde_derive]
version = "^1.0"

[dependencies.thiserror]
version = "^2.0"

[dev-dependencies.chrono]
version = "^0.4"

[dev-dependencies.env_logger]
version = "^0.11"

[dev-dependencies.serial_test]
version = "3.2.0"

[dev-dependencies.tempfile]
version = "^3.3"

[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"

[[example]]
name = "batching"
path = "examples/batching.rs"

[[example]]
name = "cf_optimistic_txn_store_operations"
path = "examples/cf_optimistic_txn_store_operations.rs"

[[example]]
name = "cf_store_iteration"
path = "examples/cf_store_iteration.rs"

[[example]]
name = "cf_store_operations"
path = "examples/cf_store_operations.rs"

[[example]]
name = "cf_txn_store_operations"
path = "examples/cf_txn_store_operations.rs"

[[example]]
name = "compaction_filter_routing"
path = "examples/compaction_filter_routing.rs"

[[example]]
name = "macros_cf_usage"
path = "examples/macros_cf_usage.rs"

[[example]]
name = "merge_routing"
path = "examples/merge_routing.rs"

[[example]]
name = "optimistic_transaction"
path = "examples/optimistic_transaction.rs"

[[example]]
name = "transactional"
path = "examples/transactional.rs"

[[example]]
name = "tuning_showcase"
path = "examples/tuning_showcase.rs"

[[example]]
name = "value_expiry_example"
path = "examples/value_expiry_example.rs"

[features]
base62 = ["dep:base62"]
bzip2 = ["rocksdb/bzip2"]
default = ["multi-threaded-cf", "lz4"]
full = ["default", "base62", "snappy", "zstd", "zlib", "bzip2", "natlex_sort", "nat_sort"]
lz4 = ["rocksdb/lz4"]
multi-threaded-cf = ["rocksdb/multi-threaded-cf"]
nat_sort = ["dep:natord"]
natlex_sort = ["dep:natlex_sort"]
snappy = ["rocksdb/snappy"]
test-utils = []
zlib = ["rocksdb/zlib"]
zstd = ["rocksdb/zstd"]

[lib]
name = "rocksolid"
path = "src/lib.rs"

[package]
authors = ["Excerion Sun <dev@excsn.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database", "database-implementations"]
description = "An ergonomic, high-level RocksDB wrapper for Rust. Features CF-aware optimistic & pessimistic transactions, advanced routing for merge operators and compaction filters, performance tuning profiles, batching, TTL values, and DAO macros."
documentation = "https://docs.rs/rocksolid"
edition = "2024"
keywords = ["rocksdb", "database", "kv-store", "transaction", "batch"]
license = "MPL-2.0"
name = "rocksolid"
readme = "README.md"
repository = "https://github.com/excsn/rocksolid"
resolver = "2"
version = "2.5.6"

[[test]]
name = "binary_compaction_filter"
path = "tests/binary_compaction_filter.rs"
required-features = ["base62"]

[[test]]
name = "cf_integration"
path = "tests/cf_integration.rs"
required-features = ["zstd"]

[[test]]
name = "cf_iteration"
path = "tests/cf_iteration.rs"

[[test]]
name = "common"
path = "tests/common.rs"

[[test]]
name = "compaction_filter_router"
path = "tests/compaction_filter_router.rs"

[[test]]
name = "general"
path = "tests/general.rs"

[[test]]
name = "optimistic_cf_tx"
path = "tests/optimistic_cf_tx.rs"

[[test]]
name = "optimistic_tx"
path = "tests/optimistic_tx.rs"

[[test]]
name = "optimistic_tx_builder"
path = "tests/optimistic_tx_builder.rs"

[[test]]
name = "tuner"
path = "tests/tuner.rs"