Crate ckb_rocksdb[−][src]
Rust wrapper for RocksDB.
Examples
use ckb_rocksdb::prelude::*; // NB: db is automatically closed at end of lifetime let path = "_path_for_rocksdb_storage"; let db = DB::open_default(&path).unwrap(); db.put(b"my key", b"my value").unwrap(); match db.get(b"my key") { Ok(Some(value)) => println!("retrieved value {}", value.to_utf8().unwrap()), Ok(None) => println!("value not found"), Err(e) => println!("operational problem encountered: {}", e), } db.delete(b"my key").unwrap();
Opening a database and a single column family with custom options:
use ckb_rocksdb::{prelude::*, ColumnFamilyDescriptor}; let path = "_path_for_rocksdb_storage_with_cfs"; let mut cf_opts = Options::default(); cf_opts.set_max_write_buffer_number(16); let cf = ColumnFamilyDescriptor::new("cf1", cf_opts); let mut db_opts = Options::default(); db_opts.create_missing_column_families(true); db_opts.create_if_missing(true); let db = DB::open_cf_descriptors(&db_opts, &path, vec![cf]).unwrap();
Re-exports
pub extern crate librocksdb_sys as ffi; |
pub use crate::column_family::ColumnFamilyDescriptor; |
pub use crate::compaction_filter::Decision as CompactionDecision; |
pub use crate::merge_operator::MergeOperands; |
Modules
backup | |
checkpoint | |
column_family | |
compaction_filter | |
ffi_util | |
merge_operator | rustic merge operator |
ops | |
prelude |
Structs
BlockBasedOptions | For configuring block-based file storage. |
ColumnFamily | An opaque type used to represent a column family. Returned from some functions, and used in others |
DB | A RocksDB database. |
DBIterator | An iterator over a database or column family, with specifiable ranges and direction. |
DBPinnableSlice | Wrapper around RocksDB PinnableSlice struct. |
DBRawIterator | |
DBVector | Vector of bytes stored in the database. |
Error | A simple wrapper round a string, used for errors reported from ffi calls. |
FlushOptions | Optionally wait for the memtable flush to be performed. |
FullOptions | |
OptimisticTransaction | |
OptimisticTransactionDB | A optimistic transaction database. |
OptimisticTransactionOptions | |
OptimisticTransactionSnapshot | |
Options | Database-wide options around performance and behavior. |
PlainTableFactoryOptions | Used with DBOptions::set_plain_table_factory. See https://github.com/facebook/rocksdb/wiki/PlainTable-Format. |
ReadOnlyDB | |
ReadOptions | |
SecondaryDB | |
SecondaryOpenDescriptor | |
SliceTransform | A SliceTranform is a generic pluggable way of transforming one string to another. Its primary use-case is in configuring rocksdb to store prefix blooms by setting prefix_extractor in ColumnFamilyOptions. |
Snapshot | A consistent view of the database at the point of creation. |
TemporaryDBPath | Ensures that DB::Destroy is called and the directory is deleted for this database when TemporaryDBPath is dropped. |
Transaction | |
TransactionDB | A transaction database. |
TransactionDBOptions | |
TransactionOptions | |
TransactionSnapshot | |
WriteBatch | An atomic batch of write operations. |
WriteOptions | Optionally disable WAL or sync for this write. |
Enums
BlockBasedIndexType | Used by BlockBasedOptions::set_index_type. |
DBCompactionStyle | |
DBCompressionType | |
DBRecoveryMode | |
DataBlockIndexType | Used by BlockBasedOptions::set_data_block_index_type. |
Direction | |
IteratorMode | |
MemtableFactory | Defines the underlying memtable implementation. See https://github.com/facebook/rocksdb/wiki/MemTable for more information. |
Traits
ConstHandle | |
Handle | Provides access to underlying handles for database operations |