From 85bc98462e699d8fbc846ad142c89dc071964161 Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Wed, 20 Apr 2016 18:18:21 +0800 Subject: [PATCH] options: add compression option --- src/ffi.rs | 2 +- src/lib.rs | 2 +- src/rocksdb_options.rs | 8 +++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ffi.rs b/src/ffi.rs index f13472b..3182d0c 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -178,7 +178,7 @@ extern "C" { pub fn rocksdb_options_set_compaction_style(options: DBOptions, cs: DBCompactionStyle); pub fn rocksdb_options_set_compression(options: DBOptions, - compression_style_no: c_int); + compression_style_no: DBCompressionType); pub fn rocksdb_options_set_max_background_compactions( options: DBOptions, max_bg_compactions: c_int); pub fn rocksdb_options_set_max_background_flushes(options: DBOptions, diff --git a/src/lib.rs b/src/lib.rs index 8b774f4..dbadb71 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,7 +13,7 @@ // limitations under the License. // pub use ffi as rocksdb_ffi; -pub use ffi::{DBCompactionStyle, DBComparator, new_bloom_filter}; +pub use ffi::{DBCompactionStyle, DBComparator, DBCompressionType, new_bloom_filter}; pub use rocksdb::{DB, DBIterator, DBVector, Direction, IteratorMode, Writable, WriteBatch}; pub use rocksdb_options::{BlockBasedOptions, Options, WriteOptions}; diff --git a/src/rocksdb_options.rs b/src/rocksdb_options.rs index 8a20dbc..adbec5f 100644 --- a/src/rocksdb_options.rs +++ b/src/rocksdb_options.rs @@ -17,7 +17,7 @@ use self::libc::c_int; use std::ffi::CString; use std::mem; -use rocksdb_ffi; +use rocksdb_ffi::{self, DBCompressionType}; use merge_operator::{self, MergeFn, MergeOperatorCallback, full_merge_callback, partial_merge_callback}; use comparator::{self, ComparatorCallback, compare_callback}; @@ -102,6 +102,12 @@ impl Options { } } + pub fn compression(&mut self, t: DBCompressionType) { + unsafe { + rocksdb_ffi::rocksdb_options_set_compression(self.inner, t); + } + } + pub fn add_merge_operator(&mut self, name: &str, merge_fn: MergeFn) {