rocksolid 2.7.0

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
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "rocksolid"
version = "2.7.0"
authors = ["Excerion Sun <dev@excsn.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
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"
readme = "README.md"
keywords = [
    "rocksdb",
    "database",
    "kv-store",
    "transaction",
    "batch",
]
categories = [
    "database",
    "database-implementations",
]
license = "MPL-2.0"
repository = "https://github.com/excsn/rocksolid"
resolver = "2"

[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"

[[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"

[[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 = "custom_options_db"
path = "tests/custom_options_db.rs"

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

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

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

[[test]]
name = "multi_cf_batch"
path = "tests/multi_cf_batch.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"

[dependencies.base62]
version = "2"
optional = true

[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]
version = "^0.1"
optional = true

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

[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]
version = "^0.24"
default-features = false

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

[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"