Struct rocksdb::SnapshotWithThreadMode
source · pub struct SnapshotWithThreadMode<'a, D: DBAccess> { /* private fields */ }
Expand description
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§
source§impl<'a, D: DBAccess> SnapshotWithThreadMode<'a, D>
impl<'a, D: DBAccess> SnapshotWithThreadMode<'a, D>
sourcepub fn iterator(&self, mode: IteratorMode<'_>) -> DBIteratorWithThreadMode<'a, D> ⓘ
pub fn iterator(&self, mode: IteratorMode<'_>) -> DBIteratorWithThreadMode<'a, D> ⓘ
Creates an iterator over the data in this snapshot, using the default read options.
sourcepub fn iterator_cf(
&self,
cf_handle: &impl AsColumnFamilyRef,
mode: IteratorMode<'_>
) -> DBIteratorWithThreadMode<'_, D> ⓘ
pub fn iterator_cf(
&self,
cf_handle: &impl AsColumnFamilyRef,
mode: IteratorMode<'_>
) -> DBIteratorWithThreadMode<'_, D> ⓘ
Creates an iterator over the data in this snapshot under the given column family, using the default read options.
sourcepub fn iterator_opt(
&self,
mode: IteratorMode<'_>,
readopts: ReadOptions
) -> DBIteratorWithThreadMode<'a, D> ⓘ
pub fn iterator_opt(
&self,
mode: IteratorMode<'_>,
readopts: ReadOptions
) -> DBIteratorWithThreadMode<'a, D> ⓘ
Creates an iterator over the data in this snapshot, using the given read options.
sourcepub fn iterator_cf_opt(
&self,
cf_handle: &impl AsColumnFamilyRef,
readopts: ReadOptions,
mode: IteratorMode<'_>
) -> DBIteratorWithThreadMode<'_, D> ⓘ
pub fn iterator_cf_opt(
&self,
cf_handle: &impl AsColumnFamilyRef,
readopts: ReadOptions,
mode: IteratorMode<'_>
) -> DBIteratorWithThreadMode<'_, D> ⓘ
Creates an iterator over the data in this snapshot under the given column family, using the given read options.
sourcepub fn raw_iterator(&self) -> DBRawIteratorWithThreadMode<'_, D>
pub fn raw_iterator(&self) -> DBRawIteratorWithThreadMode<'_, D>
Creates a raw iterator over the data in this snapshot, using the default read options.
sourcepub fn raw_iterator_cf(
&self,
cf_handle: &impl AsColumnFamilyRef
) -> DBRawIteratorWithThreadMode<'_, D>
pub fn raw_iterator_cf(
&self,
cf_handle: &impl AsColumnFamilyRef
) -> DBRawIteratorWithThreadMode<'_, D>
Creates a raw iterator over the data in this snapshot under the given column family, using the default read options.
sourcepub fn raw_iterator_opt(
&self,
readopts: ReadOptions
) -> DBRawIteratorWithThreadMode<'_, D>
pub fn raw_iterator_opt(
&self,
readopts: ReadOptions
) -> DBRawIteratorWithThreadMode<'_, D>
Creates a raw iterator over the data in this snapshot, using the given read options.
sourcepub fn raw_iterator_cf_opt(
&self,
cf_handle: &impl AsColumnFamilyRef,
readopts: ReadOptions
) -> DBRawIteratorWithThreadMode<'_, D>
pub fn raw_iterator_cf_opt(
&self,
cf_handle: &impl AsColumnFamilyRef,
readopts: ReadOptions
) -> DBRawIteratorWithThreadMode<'_, D>
Creates a raw iterator over the data in this snapshot under the given column family, using the given read options.
sourcepub fn get<K: AsRef<[u8]>>(&self, key: K) -> Result<Option<Vec<u8>>, Error>
pub fn get<K: AsRef<[u8]>>(&self, key: K) -> Result<Option<Vec<u8>>, Error>
Returns the bytes associated with a key value with default read options.
sourcepub fn get_cf<K: AsRef<[u8]>>(
&self,
cf: &impl AsColumnFamilyRef,
key: K
) -> Result<Option<Vec<u8>>, Error>
pub fn get_cf<K: AsRef<[u8]>>(
&self,
cf: &impl AsColumnFamilyRef,
key: K
) -> Result<Option<Vec<u8>>, Error>
Returns the bytes associated with a key value and given column family with default read options.
sourcepub fn get_opt<K: AsRef<[u8]>>(
&self,
key: K,
readopts: ReadOptions
) -> Result<Option<Vec<u8>>, Error>
pub fn get_opt<K: AsRef<[u8]>>(
&self,
key: K,
readopts: ReadOptions
) -> Result<Option<Vec<u8>>, Error>
Returns the bytes associated with a key value and given read options.
sourcepub fn get_cf_opt<K: AsRef<[u8]>>(
&self,
cf: &impl AsColumnFamilyRef,
key: K,
readopts: ReadOptions
) -> Result<Option<Vec<u8>>, Error>
pub fn get_cf_opt<K: AsRef<[u8]>>(
&self,
cf: &impl AsColumnFamilyRef,
key: K,
readopts: ReadOptions
) -> Result<Option<Vec<u8>>, Error>
Returns the bytes associated with a key value, given column family and read options.
sourcepub fn multi_get<K: AsRef<[u8]>, I>(
&self,
keys: I
) -> Vec<Result<Option<Vec<u8>>, Error>>where
I: IntoIterator<Item = K>,
pub fn multi_get<K: AsRef<[u8]>, I>(
&self,
keys: I
) -> Vec<Result<Option<Vec<u8>>, Error>>where
I: IntoIterator<Item = K>,
Returns the bytes associated with the given key values and default read options.
sourcepub fn multi_get_cf<'b, K, I, W>(
&self,
keys_cf: I
) -> Vec<Result<Option<Vec<u8>>, Error>>where
K: AsRef<[u8]>,
I: IntoIterator<Item = (&'b W, K)>,
W: AsColumnFamilyRef + 'b,
pub fn multi_get_cf<'b, K, I, W>(
&self,
keys_cf: I
) -> Vec<Result<Option<Vec<u8>>, Error>>where
K: AsRef<[u8]>,
I: IntoIterator<Item = (&'b W, K)>,
W: AsColumnFamilyRef + 'b,
Returns the bytes associated with the given key values and default read options.
sourcepub fn multi_get_opt<K, I>(
&self,
keys: I,
readopts: ReadOptions
) -> Vec<Result<Option<Vec<u8>>, Error>>where
K: AsRef<[u8]>,
I: IntoIterator<Item = K>,
pub fn multi_get_opt<K, I>(
&self,
keys: I,
readopts: ReadOptions
) -> Vec<Result<Option<Vec<u8>>, Error>>where
K: AsRef<[u8]>,
I: IntoIterator<Item = K>,
Returns the bytes associated with the given key values and given read options.
sourcepub fn multi_get_cf_opt<'b, K, I, W>(
&self,
keys_cf: I,
readopts: ReadOptions
) -> Vec<Result<Option<Vec<u8>>, Error>>where
K: AsRef<[u8]>,
I: IntoIterator<Item = (&'b W, K)>,
W: AsColumnFamilyRef + 'b,
pub fn multi_get_cf_opt<'b, K, I, W>(
&self,
keys_cf: I,
readopts: ReadOptions
) -> Vec<Result<Option<Vec<u8>>, Error>>where
K: AsRef<[u8]>,
I: IntoIterator<Item = (&'b W, K)>,
W: AsColumnFamilyRef + 'b,
Returns the bytes associated with the given key values, given column family and read options.
Trait Implementations§
source§impl<'a, D: DBAccess> Drop for SnapshotWithThreadMode<'a, D>
impl<'a, D: DBAccess> Drop for SnapshotWithThreadMode<'a, D>
impl<'a, D: DBAccess> Send for SnapshotWithThreadMode<'a, D>
Send
and Sync
implementations for SnapshotWithThreadMode
are safe, because SnapshotWithThreadMode
is
immutable and can be safely shared between threads.