Commit 9d759502 authored by arthurprs's avatar arthurprs

Add bytes_per_sync and wal_bytes_per_sync

parent ee4c6ebb
...@@ -1497,6 +1497,14 @@ void crocksdb_options_set_max_subcompactions(crocksdb_options_t *opt, size_t v) ...@@ -1497,6 +1497,14 @@ void crocksdb_options_set_max_subcompactions(crocksdb_options_t *opt, size_t v)
opt->rep.max_subcompactions = v; opt->rep.max_subcompactions = v;
} }
void crocksdb_options_set_wal_bytes_per_sync(crocksdb_options_t *opt, uint64_t v) {
opt->rep.wal_bytes_per_sync = v;
}
void crocksdb_options_set_bytes_per_sync(crocksdb_options_t *opt, uint64_t v) {
opt->rep.bytes_per_sync = v;
}
size_t crocksdb_options_get_block_cache_usage(crocksdb_options_t *opt) { size_t crocksdb_options_get_block_cache_usage(crocksdb_options_t *opt) {
if (opt && opt->rep.table_factory != nullptr) { if (opt && opt->rep.table_factory != nullptr) {
void* table_opt = opt->rep.table_factory->GetOptions(); void* table_opt = opt->rep.table_factory->GetOptions();
......
...@@ -783,6 +783,10 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_readahead_size ...@@ -783,6 +783,10 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_readahead_size
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_subcompactions( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_subcompactions(
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_bytes_per_sync(
crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_bytes_per_sync(
crocksdb_options_t*, uint64_t);
enum { enum {
crocksdb_tolerate_corrupted_tail_records_recovery = 0, crocksdb_tolerate_corrupted_tail_records_recovery = 0,
......
...@@ -257,6 +257,8 @@ extern "C" { ...@@ -257,6 +257,8 @@ extern "C" {
pub fn crocksdb_options_set_compaction_readahead_size(options: *mut DBOptions, v: size_t); pub fn crocksdb_options_set_compaction_readahead_size(options: *mut DBOptions, v: size_t);
pub fn crocksdb_options_set_wal_recovery_mode(options: *mut DBOptions, mode: DBRecoveryMode); pub fn crocksdb_options_set_wal_recovery_mode(options: *mut DBOptions, mode: DBRecoveryMode);
pub fn crocksdb_options_set_max_subcompactions(options: *mut DBOptions, v: size_t); pub fn crocksdb_options_set_max_subcompactions(options: *mut DBOptions, v: size_t);
pub fn crocksdb_options_set_wal_bytes_per_sync(options: *mut DBOptions, v: u64);
pub fn crocksdb_options_set_bytes_per_sync(options: *mut DBOptions, v: u64);
pub fn crocksdb_options_enable_statistics(options: *mut DBOptions); pub fn crocksdb_options_enable_statistics(options: *mut DBOptions);
pub fn crocksdb_options_statistics_get_string(options: *mut DBOptions) -> *const c_char; pub fn crocksdb_options_statistics_get_string(options: *mut DBOptions) -> *const c_char;
pub fn crocksdb_options_statistics_get_ticker_count(options: *mut DBOptions, pub fn crocksdb_options_statistics_get_ticker_count(options: *mut DBOptions,
......
...@@ -554,6 +554,18 @@ impl Options { ...@@ -554,6 +554,18 @@ impl Options {
} }
} }
pub fn set_wal_bytes_per_sync(&mut self, n: u64) {
unsafe {
crocksdb_ffi::crocksdb_options_set_wal_bytes_per_sync(self.inner, n);
}
}
pub fn set_bytes_per_sync(&mut self, n: u64) {
unsafe {
crocksdb_ffi::crocksdb_options_set_bytes_per_sync(self.inner, n);
}
}
pub fn set_disable_auto_compactions(&mut self, disable: bool) { pub fn set_disable_auto_compactions(&mut self, disable: bool) {
unsafe { unsafe {
if disable { if disable {
......
...@@ -212,6 +212,16 @@ fn test_set_max_subcompactions() { ...@@ -212,6 +212,16 @@ 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_bytes_per_sync() {
let path = TempDir::new("_rust_rocksdb_bytes_per_sync").expect("");
let mut opts = Options::new();
opts.create_if_missing(true);
opts.set_bytes_per_sync(1024 * 1024);
opts.set_wal_bytes_per_sync(1024 * 1024);
DB::open(opts, path.path().to_str().unwrap()).unwrap();
}
#[test] #[test]
fn test_set_optimize_filters_for_hits() { fn test_set_optimize_filters_for_hits() {
let path = TempDir::new("_rust_rocksdb_optimize_filters_for_hits").expect(""); let path = TempDir::new("_rust_rocksdb_optimize_filters_for_hits").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