Skip to content

Commit

Permalink
add merge operator config (rust-rocksdb#446)
Browse files Browse the repository at this point in the history
Signed-off-by: Little-Wallace <bupt2013211450@gmail.com>
  • Loading branch information
Little-Wallace committed Mar 11, 2020
1 parent f6c5af6 commit 82e918a
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 0 deletions.
9 changes: 9 additions & 0 deletions librocksdb_sys/crocksdb/c.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2621,6 +2621,10 @@ void crocksdb_options_set_enable_multi_batch_write(crocksdb_options_t *opt,
opt->rep.enable_multi_thread_write = v;
}

unsigned char crocksdb_options_is_enable_multi_batch_write(crocksdb_options_t *opt) {
return opt->rep.enable_multi_thread_write;
}

void crocksdb_options_set_unordered_write(crocksdb_options_t* opt,
unsigned char v) {
opt->rep.unordered_write = v;
Expand Down Expand Up @@ -5279,6 +5283,11 @@ void ctitandb_options_set_blob_file_compression(ctitandb_options_t* opts,
opts->rep.blob_file_compression = static_cast<CompressionType>(type);
}

void ctitandb_options_set_gc_merge_rewrite(ctitandb_options_t* opts,
unsigned char enable) {
opts->rep.gc_merge_rewrite = enable;
}

void ctitandb_decode_blob_index(const char* value, size_t value_size,
ctitandb_blob_index_t* index, char** errptr) {
Slice v(value, value_size);
Expand Down
5 changes: 5 additions & 0 deletions librocksdb_sys/crocksdb/crocksdb/c.h
Original file line number Diff line number Diff line change
Expand Up @@ -1057,6 +1057,8 @@ crocksdb_options_set_enable_pipelined_write(crocksdb_options_t *, unsigned char)
extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_enable_multi_batch_write(crocksdb_options_t *opt,
unsigned char v);
extern C_ROCKSDB_LIBRARY_API unsigned char
crocksdb_options_is_enable_multi_batch_write(crocksdb_options_t *opt);
extern C_ROCKSDB_LIBRARY_API void
crocksdb_options_set_unordered_write(crocksdb_options_t*, unsigned char);
extern C_ROCKSDB_LIBRARY_API void
Expand Down Expand Up @@ -2103,6 +2105,9 @@ extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_min_blob_size(
extern C_ROCKSDB_LIBRARY_API int ctitandb_options_blob_file_compression(
ctitandb_options_t*);

extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_gc_merge_rewrite(
ctitandb_options_t*, unsigned char);

extern C_ROCKSDB_LIBRARY_API void ctitandb_options_set_blob_file_compression(
ctitandb_options_t*, int type);

Expand Down
2 changes: 2 additions & 0 deletions librocksdb_sys/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -574,6 +574,7 @@ extern "C" {
pub fn crocksdb_options_set_bytes_per_sync(options: *mut Options, bytes: u64);
pub fn crocksdb_options_set_enable_pipelined_write(options: *mut Options, v: bool);
pub fn crocksdb_options_set_enable_multi_batch_write(options: *mut Options, v: bool);
pub fn crocksdb_options_is_enable_multi_batch_write(options: *mut Options) -> bool;
pub fn crocksdb_options_set_unordered_write(options: *mut Options, v: bool);
pub fn crocksdb_options_set_allow_concurrent_memtable_write(options: *mut Options, v: bool);
pub fn crocksdb_options_set_manual_wal_flush(options: *mut Options, v: bool);
Expand Down Expand Up @@ -2072,6 +2073,7 @@ extern "C" {
pub fn ctitandb_options_set_min_blob_size(opts: *mut DBTitanDBOptions, size: u64);
pub fn ctitandb_options_blob_file_compression(opts: *mut DBTitanDBOptions)
-> DBCompressionType;
pub fn ctitandb_options_set_gc_merge_rewrite(opts: *mut DBTitanDBOptions, enable: bool);
pub fn ctitandb_options_set_blob_file_compression(
opts: *mut DBTitanDBOptions,
t: DBCompressionType,
Expand Down
4 changes: 4 additions & 0 deletions src/rocksdb_options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1037,6 +1037,10 @@ impl DBOptions {
}
}

pub fn is_enable_multi_batch_write(&self) -> bool {
unsafe { crocksdb_ffi::crocksdb_options_is_enable_multi_batch_write(self.inner) }
}

pub fn enable_unordered_write(&self, v: bool) {
unsafe {
crocksdb_ffi::crocksdb_options_set_unordered_write(self.inner, v);
Expand Down
6 changes: 6 additions & 0 deletions src/titan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,12 @@ impl TitanDBOptions {
crocksdb_ffi::ctitandb_options_set_blob_run_mode(self.inner, t);
}
}

pub fn set_gc_merge_rewrite(&mut self, enable: bool) {
unsafe {
crocksdb_ffi::ctitandb_options_set_gc_merge_rewrite(self.inner, enable);
}
}
}

impl Drop for TitanDBOptions {
Expand Down

0 comments on commit 82e918a

Please sign in to comment.