Consolidate RockDB code

Moves explicitly to zstd. RockDB recommends zstd, or at least lz4 over snappy,
and this minimizes which dependencies we pull in.
This commit is contained in:
Luke Parker
2023-07-25 21:39:29 -04:00
parent 49ce792b91
commit 32435d8a4c
6 changed files with 15 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
use std::sync::Arc;
use rocksdb::{ThreadMode, Transaction, TransactionDB};
use rocksdb::{DBCompressionType, ThreadMode, SingleThreaded, Options, Transaction, TransactionDB};
use crate::*;
@@ -32,3 +32,10 @@ impl<T: ThreadMode + 'static> Db for Arc<TransactionDB<T>> {
self.transaction()
}
}
pub type RocksDB = Arc<TransactionDB<SingleThreaded>>;
pub fn new_rocksdb(path: &str) -> RocksDB {
let mut options = Options::default();
options.set_compression_type(DBCompressionType::Zstd);
Arc::new(TransactionDB::open(&options, &Default::default(), path).unwrap())
}