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