Added a clear method for WriteBatch

master
Oleksandr Anyshchenko 6 years ago
parent 8071fabd9d
commit 05350ac88c
  1. 8
      src/db.rs
  2. 27
      tests/test_write_batch.rs

@ -1223,6 +1223,14 @@ impl WriteBatch {
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 {

@ -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