Commit 8081edec authored by zhangjinpeng1987's avatar zhangjinpeng1987 Committed by Neil Shen

log file num && max size (#62)

parent a28ba922
...@@ -165,7 +165,8 @@ extern "C" { ...@@ -165,7 +165,8 @@ extern "C" {
pub fn rocksdb_options_set_max_bytes_for_level_base(options: *mut DBOptions, bytes: u64); pub fn rocksdb_options_set_max_bytes_for_level_base(options: *mut DBOptions, bytes: u64);
pub fn rocksdb_options_set_max_bytes_for_level_multiplier(options: *mut DBOptions, pub fn rocksdb_options_set_max_bytes_for_level_multiplier(options: *mut DBOptions,
mul: c_int); mul: c_int);
pub fn rocksdb_options_set_max_log_file_size(options: *mut DBOptions, bytes: u64); pub fn rocksdb_options_set_max_log_file_size(options: *mut DBOptions, bytes: size_t);
pub fn rocksdb_options_set_keep_log_file_num(options: *mut DBOptions, num: size_t);
pub fn rocksdb_options_set_max_manifest_file_size(options: *mut DBOptions, bytes: u64); pub fn rocksdb_options_set_max_manifest_file_size(options: *mut DBOptions, bytes: u64);
pub fn rocksdb_options_set_hash_skip_list_rep(options: *mut DBOptions, pub fn rocksdb_options_set_hash_skip_list_rep(options: *mut DBOptions,
bytes: u64, bytes: u64,
......
...@@ -556,6 +556,18 @@ impl Options { ...@@ -556,6 +556,18 @@ impl Options {
rocksdb_ffi::rocksdb_options_set_db_log_dir(self.inner, path.as_ptr()); rocksdb_ffi::rocksdb_options_set_db_log_dir(self.inner, path.as_ptr());
} }
} }
pub fn set_max_log_file_size(&mut self, size: u64) {
unsafe {
rocksdb_ffi::rocksdb_options_set_max_log_file_size(self.inner, size as size_t);
}
}
pub fn set_keep_log_file_num(&mut self, num: u64) {
unsafe {
rocksdb_ffi::rocksdb_options_set_keep_log_file_num(self.inner, num as size_t);
}
}
} }
pub struct FlushOptions { pub struct FlushOptions {
......
...@@ -11,3 +11,15 @@ fn test_set_num_levels() { ...@@ -11,3 +11,15 @@ fn test_set_num_levels() {
let db = DB::open(opts, path.path().to_str().unwrap()).unwrap(); let db = DB::open(opts, path.path().to_str().unwrap()).unwrap();
drop(db); drop(db);
} }
#[test]
fn test_log_file_opt() {
let path = TempDir::new("_rust_rocksdb_log_file_opt").expect("");
let mut opts = Options::new();
opts.create_if_missing(true);
opts.set_max_log_file_size(100 * 1024 * 1024);
opts.set_keep_log_file_num(10);
let db = DB::open(opts, path.path().to_str().unwrap()).unwrap();
drop(db);
}
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