Merge pull request #240 from aleksuss/wb-clear

Added a clear method for WriteBatch
master
Jordan Terrell 6 years ago committed by GitHub
commit 976420f765
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      src/db.rs
  2. 27
      tests/test_write_batch.rs

@ -1252,6 +1252,14 @@ impl WriteBatch {
Ok(()) Ok(())
} }
} }
/// Clear all updates buffered in this batch.
pub fn clear(&mut self) -> Result<(), Error> {
unsafe {
ffi::rocksdb_writebatch_clear(self.inner);
}
Ok(())
}
} }
impl Default for WriteBatch { impl Default for WriteBatch {

@ -0,0 +1,27 @@
// Copyright 2019 Tyler Neely
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
extern crate rocksdb;
use rocksdb::WriteBatch;
#[test]
fn test_write_batch_clear() {
let mut batch = WriteBatch::default();
let _ = batch.put(b"1", b"2");
assert_eq!(batch.len(), 1);
let _ = batch.clear();
assert_eq!(batch.len(), 0);
assert!(batch.is_empty());
}
Loading…
Cancel
Save