Commit bf0b65e6 authored by zhangjinpeng1987's avatar zhangjinpeng1987 Committed by GitHub

support level_compaction_dynamic_level_bytes (#45)

parent 21b728aa
...@@ -285,6 +285,8 @@ extern "C" { ...@@ -285,6 +285,8 @@ extern "C" {
pub fn crocksdb_options_set_prefix_extractor(options: *mut DBOptions, pub fn crocksdb_options_set_prefix_extractor(options: *mut DBOptions,
prefix_extractor: *mut DBSliceTransform); prefix_extractor: *mut DBSliceTransform);
pub fn crocksdb_options_set_optimize_filters_for_hits(options: *mut DBOptions, v: bool); pub fn crocksdb_options_set_optimize_filters_for_hits(options: *mut DBOptions, v: bool);
pub fn crocksdb_options_set_level_compaction_dynamic_level_bytes(options: *mut DBOptions,
v: bool);
pub fn crocksdb_options_set_memtable_insert_with_hint_prefix_extractor(options: *mut DBOptions, pub fn crocksdb_options_set_memtable_insert_with_hint_prefix_extractor(options: *mut DBOptions,
prefix_extractor: *mut DBSliceTransform); prefix_extractor: *mut DBSliceTransform);
pub fn crocksdb_options_set_memtable_prefix_bloom_size_ratio(options: *mut DBOptions, pub fn crocksdb_options_set_memtable_prefix_bloom_size_ratio(options: *mut DBOptions,
......
...@@ -473,6 +473,12 @@ impl Options { ...@@ -473,6 +473,12 @@ impl Options {
} }
} }
pub fn set_level_compaction_dynamic_level_bytes(&mut self, v: bool) {
unsafe {
crocksdb_ffi::crocksdb_options_set_level_compaction_dynamic_level_bytes(self.inner, v);
}
}
pub fn set_soft_pending_compaction_bytes_limit(&mut self, size: u64) { pub fn set_soft_pending_compaction_bytes_limit(&mut self, size: u64) {
unsafe { unsafe {
crocksdb_ffi::crocksdb_options_set_soft_pending_compaction_bytes_limit(self.inner, crocksdb_ffi::crocksdb_options_set_soft_pending_compaction_bytes_limit(self.inner,
...@@ -800,9 +806,7 @@ impl Options { ...@@ -800,9 +806,7 @@ impl Options {
} }
pub fn get_block_cache_usage(&self) -> u64 { pub fn get_block_cache_usage(&self) -> u64 {
unsafe { unsafe { crocksdb_ffi::crocksdb_options_get_block_cache_usage(self.inner) as u64 }
crocksdb_ffi::crocksdb_options_get_block_cache_usage(self.inner) as u64
}
} }
} }
......
...@@ -244,3 +244,12 @@ fn test_get_block_cache_usage() { ...@@ -244,3 +244,12 @@ fn test_get_block_cache_usage() {
assert!(db.get_options().get_block_cache_usage() > 0); assert!(db.get_options().get_block_cache_usage() > 0);
} }
#[test]
fn test_set_level_compaction_dynamic_level_bytes() {
let path = TempDir::new("_rust_rocksdb_level_compaction_dynamic_level_bytes").expect("");
let mut opts = Options::new();
opts.create_if_missing(true);
opts.set_level_compaction_dynamic_level_bytes(true);
DB::open(opts, path.path().to_str().unwrap()).unwrap();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment