diff --git a/Cargo.toml b/Cargo.toml index ef55b35a0..7cfe7aab4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,3 @@ crc = "1.8" lazy_static = "1.4.0" rand = "0.7" tempfile = "3.1" - -[patch.crates-io] -# Remove this when a new version is release. We need to solve rust-lang/cmake-rs#143. -cmake = { git = "https://github.com/rust-lang/cmake-rs" } diff --git a/librocksdb_sys/crocksdb/c.cc b/librocksdb_sys/crocksdb/c.cc index 5cdc9e990..f0b88bb57 100644 --- a/librocksdb_sys/crocksdb/c.cc +++ b/librocksdb_sys/crocksdb/c.cc @@ -4120,6 +4120,11 @@ void crocksdb_compactoptions_set_bottommost_level_compaction( static_cast(v); } +void crocksdb_compactoptions_set_check_range_overlap_on_bottom_level( + crocksdb_compactoptions_t* opt, unsigned char v) { + opt->rep.check_range_overlap_on_bottom_level = v; +} + crocksdb_flushoptions_t* crocksdb_flushoptions_create() { return new crocksdb_flushoptions_t; } diff --git a/librocksdb_sys/crocksdb/crocksdb/c.h b/librocksdb_sys/crocksdb/crocksdb/c.h index e60e69eee..b288fd29a 100644 --- a/librocksdb_sys/crocksdb/crocksdb/c.h +++ b/librocksdb_sys/crocksdb/crocksdb/c.h @@ -1693,6 +1693,9 @@ crocksdb_compactoptions_set_max_subcompactions(crocksdb_compactoptions_t*, int); extern C_ROCKSDB_LIBRARY_API void crocksdb_compactoptions_set_bottommost_level_compaction( crocksdb_compactoptions_t*, uint32_t); +extern C_ROCKSDB_LIBRARY_API void +crocksdb_compactoptions_set_check_range_overlap_on_bottom_level( + crocksdb_compactoptions_t*, unsigned char); /* Flush options */ diff --git a/librocksdb_sys/rocksdb b/librocksdb_sys/rocksdb index 9b26403a8..b4ef4c1e0 160000 --- a/librocksdb_sys/rocksdb +++ b/librocksdb_sys/rocksdb @@ -1 +1 @@ -Subproject commit 9b26403a82ac38854372b4d6a259b9ea89bcfaf3 +Subproject commit b4ef4c1e0f80cf3c2b7196d03951efc6d8959c49 diff --git a/librocksdb_sys/src/lib.rs b/librocksdb_sys/src/lib.rs index e0370cb30..aaa2c0659 100644 --- a/librocksdb_sys/src/lib.rs +++ b/librocksdb_sys/src/lib.rs @@ -1680,6 +1680,10 @@ extern "C" { opt: *mut DBCompactOptions, v: DBBottommostLevelCompaction, ); + pub fn crocksdb_compactoptions_set_check_range_overlap_on_bottom_level( + opt: *mut DBCompactOptions, + v: bool, + ); pub fn crocksdb_set_global_manual_compaction_canceled(v: bool); pub fn crocksdb_fifo_compaction_options_create() -> *mut DBFifoCompactionOptions; diff --git a/src/rocksdb_options.rs b/src/rocksdb_options.rs index 883409f93..b5da3e0d9 100644 --- a/src/rocksdb_options.rs +++ b/src/rocksdb_options.rs @@ -856,6 +856,14 @@ impl CompactOptions { crocksdb_ffi::crocksdb_compactoptions_set_bottommost_level_compaction(self.inner, v); } } + + pub fn set_check_range_overlap_on_bottom_level(&mut self, v: bool) { + unsafe { + crocksdb_ffi::crocksdb_compactoptions_set_check_range_overlap_on_bottom_level( + self.inner, v, + ); + } + } } impl Drop for CompactOptions {