Struct rocksdb::SnapshotWithThreadMode[][src]

pub struct SnapshotWithThreadMode<'a, D: DBAccess> { /* fields omitted */ }

A consistent view of the database at the point of creation.

Examples

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

let path = "_path_for_rocksdb_storage3";
{
    let db = DB::open_default(path).unwrap();
    let snapshot = db.snapshot(); // Creates a longer-term snapshot of the DB, but closed when goes out of scope
    let mut iter = snapshot.iterator(IteratorMode::Start); // Make as many iterators as you'd like from one snapshot
}
let _ = DB::destroy(&Options::default(), path);

Implementations

impl<'a, D: DBAccess> SnapshotWithThreadMode<'a, D>[src]

pub fn new(db: &'a D) -> Self[src]

Creates a new SnapshotWithThreadMode of the database db.

pub fn iterator(
    &self,
    mode: IteratorMode<'_>
) -> DBIteratorWithThreadMode<'a, D>

Notable traits for DBIteratorWithThreadMode<'a, D>

impl<'a, D: DBAccess> Iterator for DBIteratorWithThreadMode<'a, D> type Item = (Box<[u8]>, Box<[u8]>);
[src]

Creates an iterator over the data in this snapshot, using the default read options.

pub fn iterator_cf(
    &self,
    cf_handle: impl AsColumnFamilyRef,
    mode: IteratorMode<'_>
) -> DBIteratorWithThreadMode<'_, D>

Notable traits for DBIteratorWithThreadMode<'a, D>

impl<'a, D: DBAccess> Iterator for DBIteratorWithThreadMode<'a, D> type Item = (Box<[u8]>, Box<[u8]>);
[src]

Creates an iterator over the data in this snapshot under the given column family, using the default read options.

pub fn iterator_opt(
    &self,
    mode: IteratorMode<'_>,
    readopts: ReadOptions
) -> DBIteratorWithThreadMode<'a, D>

Notable traits for DBIteratorWithThreadMode<'a, D>

impl<'a, D: DBAccess> Iterator for DBIteratorWithThreadMode<'a, D> type Item = (Box<[u8]>, Box<[u8]>);
[src]

Creates an iterator over the data in this snapshot, using the given read options.

pub fn iterator_cf_opt(
    &self,
    cf_handle: impl AsColumnFamilyRef,
    readopts: ReadOptions,
    mode: IteratorMode<'_>
) -> DBIteratorWithThreadMode<'_, D>

Notable traits for DBIteratorWithThreadMode<'a, D>

impl<'a, D: DBAccess> Iterator for DBIteratorWithThreadMode<'a, D> type Item = (Box<[u8]>, Box<[u8]>);
[src]

Creates an iterator over the data in this snapshot under the given column family, using the given read options.

pub fn raw_iterator(&self) -> DBRawIteratorWithThreadMode<'_, D>[src]

Creates a raw iterator over the data in this snapshot, using the default read options.

pub fn raw_iterator_cf(
    &self,
    cf_handle: impl AsColumnFamilyRef
) -> DBRawIteratorWithThreadMode<'_, D>
[src]

Creates a raw iterator over the data in this snapshot under the given column family, using the default read options.

pub fn raw_iterator_opt(
    &self,
    readopts: ReadOptions
) -> DBRawIteratorWithThreadMode<'_, D>
[src]

Creates a raw iterator over the data in this snapshot, using the given read options.

pub fn raw_iterator_cf_opt(
    &self,
    cf_handle: impl AsColumnFamilyRef,
    readopts: ReadOptions
) -> DBRawIteratorWithThreadMode<'_, D>
[src]

Creates a raw iterator over the data in this snapshot under the given column family, using the given read options.

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

Returns the bytes associated with a key value with default read options.

pub fn get_cf<K: AsRef<[u8]>>(
    &self,
    cf: impl AsColumnFamilyRef,
    key: K
) -> Result<Option<Vec<u8>>, Error>
[src]

Returns the bytes associated with a key value and given column family with default read options.

pub fn get_opt<K: AsRef<[u8]>>(
    &self,
    key: K,
    readopts: ReadOptions
) -> Result<Option<Vec<u8>>, Error>
[src]

Returns the bytes associated with a key value and given read options.

pub fn get_cf_opt<K: AsRef<[u8]>>(
    &self,
    cf: impl AsColumnFamilyRef,
    key: K,
    readopts: ReadOptions
) -> Result<Option<Vec<u8>>, Error>
[src]

Returns the bytes associated with a key value, given column family and read options.

Trait Implementations

impl<'a, D: DBAccess> Drop for SnapshotWithThreadMode<'a, D>[src]

impl<'a, D: DBAccess> Send for SnapshotWithThreadMode<'a, D>[src]

Send and Sync implementations for SnapshotWithThreadMode are safe, because SnapshotWithThreadMode is immutable and can be safely shared between threads.

impl<'a, D: DBAccess> Sync for SnapshotWithThreadMode<'a, D>[src]

Auto Trait Implementations

impl<'a, D> RefUnwindSafe for SnapshotWithThreadMode<'a, D> where
    D: RefUnwindSafe

impl<'a, D> Unpin for SnapshotWithThreadMode<'a, D>

impl<'a, D> UnwindSafe for SnapshotWithThreadMode<'a, D> where
    D: RefUnwindSafe

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.