Unverified Commit 09a5d6a8 authored by glorv's avatar glorv Committed by GitHub

add set_compression_options (#525) (#532)

add `set_compression_options` for `ColumnFamilyOptions` so that we can set the `compression level` when generate sst files
Signed-off-by: 's avatarglorv <glorvs@163.com>
parent d41aba3f
...@@ -653,6 +653,13 @@ extern "C" { ...@@ -653,6 +653,13 @@ extern "C" {
compression_style_no: DBCompressionType, compression_style_no: DBCompressionType,
); );
pub fn crocksdb_options_get_compression(options: *mut Options) -> DBCompressionType; pub fn crocksdb_options_get_compression(options: *mut Options) -> DBCompressionType;
pub fn crocksdb_options_set_compression_options(
options: *mut Options,
window_bits: c_int,
level: c_int,
strategy: c_int,
max_dict_bytes: c_int,
);
pub fn crocksdb_options_set_compression_per_level( pub fn crocksdb_options_set_compression_per_level(
options: *mut Options, options: *mut Options,
level_values: *const DBCompressionType, level_values: *const DBCompressionType,
......
...@@ -1331,6 +1331,24 @@ impl ColumnFamilyOptions { ...@@ -1331,6 +1331,24 @@ impl ColumnFamilyOptions {
unsafe { crocksdb_ffi::crocksdb_options_get_compression(self.inner) } unsafe { crocksdb_ffi::crocksdb_options_get_compression(self.inner) }
} }
pub fn set_compression_options(
&mut self,
window_bits: i32,
level: i32,
strategy: i32,
max_dict_bytes: i32,
) {
unsafe {
crocksdb_ffi::crocksdb_options_set_compression_options(
self.inner,
window_bits,
level,
strategy,
max_dict_bytes,
)
}
}
pub fn compression_per_level(&mut self, level_types: &[DBCompressionType]) { pub fn compression_per_level(&mut self, level_types: &[DBCompressionType]) {
unsafe { unsafe {
crocksdb_ffi::crocksdb_options_set_compression_per_level( crocksdb_ffi::crocksdb_options_set_compression_per_level(
......
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