pub struct MultiReadTransaction { /* private fields */ }Implementations§
Source§impl MultiReadTransaction
impl MultiReadTransaction
pub fn new( engine: MultiTransaction, version: Option<CommitVersion>, ) -> Result<Self>
Source§impl MultiReadTransaction
impl MultiReadTransaction
pub fn version(&self) -> CommitVersion
pub fn read_as_of_version_exclusive(&mut self, version: CommitVersion)
pub fn read_as_of_version_inclusive(&mut self, version: CommitVersion)
pub fn get(&self, key: &EncodedKey) -> Result<Option<TransactionValue>>
pub fn contains_key(&self, key: &EncodedKey) -> Result<bool>
pub fn scan(&self) -> Result<MultiVersionBatch>
pub fn scan_rev(&self) -> Result<MultiVersionBatch>
pub fn prefix(&self, prefix: &EncodedKey) -> Result<MultiVersionBatch>
pub fn prefix_rev(&self, prefix: &EncodedKey) -> Result<MultiVersionBatch>
Sourcepub fn range(
&self,
range: EncodedKeyRange,
batch_size: usize,
) -> Box<dyn Iterator<Item = Result<MultiVersionValues>> + Send + '_>
pub fn range( &self, range: EncodedKeyRange, batch_size: usize, ) -> Box<dyn Iterator<Item = Result<MultiVersionValues>> + Send + '_>
Create a streaming iterator for forward range queries.
This properly handles high version density by scanning until batch_size unique logical keys are collected. The stream yields individual entries and maintains cursor state internally.
Sourcepub fn range_rev(
&self,
range: EncodedKeyRange,
batch_size: usize,
) -> Box<dyn Iterator<Item = Result<MultiVersionValues>> + Send + '_>
pub fn range_rev( &self, range: EncodedKeyRange, batch_size: usize, ) -> Box<dyn Iterator<Item = Result<MultiVersionValues>> + Send + '_>
Create a streaming iterator for reverse range queries.
This properly handles high version density by scanning until batch_size unique logical keys are collected. The stream yields individual entries in reverse key order and maintains cursor state internally.
Auto Trait Implementations§
impl Freeze for MultiReadTransaction
impl !RefUnwindSafe for MultiReadTransaction
impl Send for MultiReadTransaction
impl Sync for MultiReadTransaction
impl Unpin for MultiReadTransaction
impl UnsafeUnpin for MultiReadTransaction
impl !UnwindSafe for MultiReadTransaction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more