Commit 3fb9d086 authored by Huachao Huang's avatar Huachao Huang Committed by GitHub

Get number levels from options (#129)

parent 799d3052
......@@ -1943,6 +1943,10 @@ void crocksdb_options_set_num_levels(crocksdb_options_t* opt, int n) {
opt->rep.num_levels = n;
}
int crocksdb_options_get_num_levels(crocksdb_options_t *opt) {
return opt->rep.num_levels;
}
void crocksdb_options_set_level0_file_num_compaction_trigger(
crocksdb_options_t* opt, int n) {
opt->rep.level0_file_num_compaction_trigger = n;
......
......@@ -755,6 +755,8 @@ crocksdb_options_set_memtable_insert_with_hint_prefix_extractor(
crocksdb_options_t*, crocksdb_slicetransform_t*);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_num_levels(
crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API int crocksdb_options_get_num_levels(
crocksdb_options_t*);
extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_level0_file_num_compaction_trigger(crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void
......
......@@ -441,6 +441,7 @@ extern "C" {
) -> bool;
pub fn crocksdb_options_set_stats_dump_period_sec(options: *mut Options, v: usize);
pub fn crocksdb_options_set_num_levels(options: *mut Options, v: c_int);
pub fn crocksdb_options_get_num_levels(options: *mut Options) -> c_int;
pub fn crocksdb_options_set_db_log_dir(options: *mut Options, path: *const c_char);
pub fn crocksdb_options_set_wal_dir(options: *mut Options, path: *const c_char);
pub fn crocksdb_options_set_wal_ttl_seconds(options: *mut Options, ttl: u64);
......
......@@ -1088,6 +1088,10 @@ impl ColumnFamilyOptions {
}
}
pub fn get_num_levels(&self) -> usize {
unsafe { crocksdb_ffi::crocksdb_options_get_num_levels(self.inner) as usize }
}
pub fn set_prefix_extractor<S>(
&mut self,
name: S,
......
......@@ -29,6 +29,7 @@ fn test_set_num_levels() {
let mut cf_opts = ColumnFamilyOptions::new();
opts.create_if_missing(true);
cf_opts.set_num_levels(2);
assert_eq!(2, cf_opts.get_num_levels());
let db = DB::open_cf(
opts,
path.path().to_str().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