[][src]Struct rocksdb::WriteBatch

pub struct WriteBatch { /* fields omitted */ }

An atomic batch of write operations.

Making an atomic commit of several writes:

use rocksdb::{DB, Options, WriteBatch};

let path = "_path_for_rocksdb_storage1";
{
    let db = DB::open_default(path).unwrap();
    let mut batch = WriteBatch::default();
    batch.put(b"my key", b"my value");
    batch.put(b"key2", b"value2");
    batch.put(b"key3", b"value3");
    db.write(batch); // Atomically commits the batch
}
let _ = DB::destroy(&Options::default(), path);

Methods

impl WriteBatch[src]

pub fn len(&self) -> usize[src]

pub fn size_in_bytes(&self) -> usize[src]

Return WriteBatch serialized size (in bytes).

pub fn is_empty(&self) -> bool[src]

pub fn put<K, V>(&mut self, key: K, value: V) -> Result<(), Error> where
    K: AsRef<[u8]>,
    V: AsRef<[u8]>, 
[src]

Insert a value into the database under the given key.

pub fn put_cf<K, V>(
    &mut self,
    cf: ColumnFamily,
    key: K,
    value: V
) -> Result<(), Error> where
    K: AsRef<[u8]>,
    V: AsRef<[u8]>, 
[src]

pub fn merge<K, V>(&mut self, key: K, value: V) -> Result<(), Error> where
    K: AsRef<[u8]>,
    V: AsRef<[u8]>, 
[src]

pub fn merge_cf<K, V>(
    &mut self,
    cf: ColumnFamily,
    key: K,
    value: V
) -> Result<(), Error> where
    K: AsRef<[u8]>,
    V: AsRef<[u8]>, 
[src]

pub fn delete<K: AsRef<[u8]>>(&mut self, key: K) -> Result<(), Error>[src]

Remove the database entry for key.

Returns an error if the key was not found.

pub fn delete_cf<K: AsRef<[u8]>>(
    &mut self,
    cf: ColumnFamily,
    key: K
) -> Result<(), Error>
[src]

pub fn delete_range<K: AsRef<[u8]>>(
    &mut self,
    from: K,
    to: K
) -> Result<(), Error>
[src]

Remove database entries from start key to end key.

Removes the database entries in the range ["begin_key", "end_key"), i.e., including "begin_key" and excluding "end_key". It is not an error if no keys exist in the range ["begin_key", "end_key").

pub fn delete_range_cf<K: AsRef<[u8]>>(
    &mut self,
    cf: ColumnFamily,
    from: K,
    to: K
) -> Result<(), Error>
[src]

Remove database entries in column family from start key to end key.

Removes the database entries in the range ["begin_key", "end_key"), i.e., including "begin_key" and excluding "end_key". It is not an error if no keys exist in the range ["begin_key", "end_key").

pub fn clear(&mut self) -> Result<(), Error>[src]

Clear all updates buffered in this batch.

Trait Implementations

impl Drop for WriteBatch[src]

impl Default for WriteBatch[src]

Auto Trait Implementations

impl !Send for WriteBatch

impl !Sync for WriteBatch

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]