Commit 21b728aa authored by zhangjinpeng1987's avatar zhangjinpeng1987 Committed by GitHub

support optimize_filters_for_hits (#42)

parent b3550b42
...@@ -1758,6 +1758,11 @@ void crocksdb_options_set_prefix_extractor( ...@@ -1758,6 +1758,11 @@ void crocksdb_options_set_prefix_extractor(
opt->rep.prefix_extractor.reset(prefix_extractor); opt->rep.prefix_extractor.reset(prefix_extractor);
} }
void crocksdb_options_set_optimize_filters_for_hits(
crocksdb_options_t* opt, unsigned char v) {
opt->rep.optimize_filters_for_hits = v;
}
void crocksdb_options_set_memtable_insert_with_hint_prefix_extractor( void crocksdb_options_set_memtable_insert_with_hint_prefix_extractor(
crocksdb_options_t* opt, crocksdb_slicetransform_t* prefix_extractor) { crocksdb_options_t* opt, crocksdb_slicetransform_t* prefix_extractor) {
opt->rep.memtable_insert_with_hint_prefix_extractor.reset(prefix_extractor); opt->rep.memtable_insert_with_hint_prefix_extractor.reset(prefix_extractor);
......
...@@ -628,6 +628,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_target_file_size_multipli ...@@ -628,6 +628,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_target_file_size_multipli
crocksdb_options_t*, int); crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_bytes_for_level_base( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_bytes_for_level_base(
crocksdb_options_t*, uint64_t); crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_optimize_filters_for_hits(
crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_level_compaction_dynamic_level_bytes(crocksdb_options_t*, crocksdb_options_set_level_compaction_dynamic_level_bytes(crocksdb_options_t*,
unsigned char); unsigned char);
......
...@@ -284,6 +284,7 @@ extern "C" { ...@@ -284,6 +284,7 @@ extern "C" {
pub fn crocksdb_options_set_wal_size_limit_mb(options: *mut DBOptions, limit: u64); pub fn crocksdb_options_set_wal_size_limit_mb(options: *mut DBOptions, limit: u64);
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_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,
......
...@@ -732,6 +732,12 @@ impl Options { ...@@ -732,6 +732,12 @@ impl Options {
} }
} }
pub fn set_optimize_filters_for_hits(&mut self, v: bool) {
unsafe {
crocksdb_ffi::crocksdb_options_set_optimize_filters_for_hits(self.inner, v);
}
}
pub fn set_memtable_insert_hint_prefix_extractor<S>(&mut self, pub fn set_memtable_insert_hint_prefix_extractor<S>(&mut self,
name: S, name: S,
transform: Box<SliceTransform>) transform: Box<SliceTransform>)
......
...@@ -212,6 +212,15 @@ fn test_set_max_subcompactions() { ...@@ -212,6 +212,15 @@ fn test_set_max_subcompactions() {
DB::open(opts, path.path().to_str().unwrap()).unwrap(); DB::open(opts, path.path().to_str().unwrap()).unwrap();
} }
#[test]
fn test_set_optimize_filters_for_hits() {
let path = TempDir::new("_rust_rocksdb_optimize_filters_for_hits").expect("");
let mut opts = Options::new();
opts.create_if_missing(true);
opts.set_optimize_filters_for_hits(true);
DB::open(opts, path.path().to_str().unwrap()).unwrap();
}
#[test] #[test]
fn test_get_block_cache_usage() { fn test_get_block_cache_usage() {
let path = TempDir::new("_rust_rocksdb_set_cache_and_index").expect(""); let path = TempDir::new("_rust_rocksdb_set_cache_and_index").expect("");
......
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