pub trait DbCursorRO<T: Table> {
// Required methods
fn first(&mut self) -> PairResult<T>;
fn seek_exact(&mut self, key: T::Key) -> PairResult<T>;
fn seek(&mut self, key: T::Key) -> PairResult<T>;
fn next(&mut self) -> PairResult<T>;
fn prev(&mut self) -> PairResult<T>;
fn last(&mut self) -> PairResult<T>;
fn current(&mut self) -> PairResult<T>;
fn walk(
&mut self,
start_key: Option<T::Key>,
) -> Result<Walker<'_, T, Self>, DatabaseError>
where Self: Sized;
fn walk_range(
&mut self,
range: impl RangeBounds<T::Key>,
) -> Result<RangeWalker<'_, T, Self>, DatabaseError>
where Self: Sized;
fn walk_back(
&mut self,
start_key: Option<T::Key>,
) -> Result<ReverseWalker<'_, T, Self>, DatabaseError>
where Self: Sized;
}Expand description
A read-only cursor over table T.
Required Methods§
Sourcefn first(&mut self) -> PairResult<T>
fn first(&mut self) -> PairResult<T>
Positions the cursor at the first entry in the table, returning it.
Sourcefn seek_exact(&mut self, key: T::Key) -> PairResult<T>
fn seek_exact(&mut self, key: T::Key) -> PairResult<T>
Seeks to the KV pair exactly at key.
Sourcefn seek(&mut self, key: T::Key) -> PairResult<T>
fn seek(&mut self, key: T::Key) -> PairResult<T>
Seeks to the KV pair whose key is greater than or equal to key.
Sourcefn next(&mut self) -> PairResult<T>
fn next(&mut self) -> PairResult<T>
Position the cursor at the next KV pair, returning it.
Sourcefn prev(&mut self) -> PairResult<T>
fn prev(&mut self) -> PairResult<T>
Position the cursor at the previous KV pair, returning it.
Sourcefn last(&mut self) -> PairResult<T>
fn last(&mut self) -> PairResult<T>
Positions the cursor at the last entry in the table, returning it.
Sourcefn current(&mut self) -> PairResult<T>
fn current(&mut self) -> PairResult<T>
Get the KV pair at the cursor’s current position.
Sourcefn walk(
&mut self,
start_key: Option<T::Key>,
) -> Result<Walker<'_, T, Self>, DatabaseError>where
Self: Sized,
fn walk(
&mut self,
start_key: Option<T::Key>,
) -> Result<Walker<'_, T, Self>, DatabaseError>where
Self: Sized,
Get an iterator that walks through the table.
If start_key is None, then the walker will start from the first entry of the table,
otherwise it starts at the entry greater than or equal to the provided key.
Sourcefn walk_range(
&mut self,
range: impl RangeBounds<T::Key>,
) -> Result<RangeWalker<'_, T, Self>, DatabaseError>where
Self: Sized,
fn walk_range(
&mut self,
range: impl RangeBounds<T::Key>,
) -> Result<RangeWalker<'_, T, Self>, DatabaseError>where
Self: Sized,
Get an iterator that walks over a range of keys in the table.
Sourcefn walk_back(
&mut self,
start_key: Option<T::Key>,
) -> Result<ReverseWalker<'_, T, Self>, DatabaseError>where
Self: Sized,
fn walk_back(
&mut self,
start_key: Option<T::Key>,
) -> Result<ReverseWalker<'_, T, Self>, DatabaseError>where
Self: Sized,
Get an iterator that walks through the table in reverse order.
If start_key is None, then the walker will start from the last entry of the table,
otherwise it starts at the entry greater than or equal to the provided key.