reth_db::cursor

Trait DbCursorRO

Source
pub trait DbCursorRO<T>
where T: Table,
{ // Required methods fn first( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>; fn seek_exact( &mut self, key: <T as Table>::Key, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>; fn seek( &mut self, key: <T as Table>::Key, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>; fn next( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>; fn prev( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>; fn last( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>; fn current( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>; fn walk( &mut self, start_key: Option<<T as Table>::Key>, ) -> Result<Walker<'_, T, Self>, DatabaseError> where Self: Sized; fn walk_range( &mut self, range: impl RangeBounds<<T as Table>::Key>, ) -> Result<RangeWalker<'_, T, Self>, DatabaseError> where Self: Sized; fn walk_back( &mut self, start_key: Option<<T as Table>::Key>, ) -> Result<ReverseWalker<'_, T, Self>, DatabaseError> where Self: Sized; }
Expand description

A read-only cursor over table T.

Required Methods§

Source

fn first( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>

Positions the cursor at the first entry in the table, returning it.

Source

fn seek_exact( &mut self, key: <T as Table>::Key, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>

Seeks to the KV pair exactly at key.

Source

fn seek( &mut self, key: <T as Table>::Key, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>

Seeks to the KV pair whose key is greater than or equal to key.

Source

fn next( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>

Position the cursor at the next KV pair, returning it.

Source

fn prev( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>

Position the cursor at the previous KV pair, returning it.

Source

fn last( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>

Positions the cursor at the last entry in the table, returning it.

Source

fn current( &mut self, ) -> Result<Option<(<T as Table>::Key, <T as Table>::Value)>, DatabaseError>

Get the KV pair at the cursor’s current position.

Source

fn walk( &mut self, start_key: Option<<T as Table>::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.

Source

fn walk_range( &mut self, range: impl RangeBounds<<T as Table>::Key>, ) -> Result<RangeWalker<'_, T, Self>, DatabaseError>
where Self: Sized,

Get an iterator that walks over a range of keys in the table.

Source

fn walk_back( &mut self, start_key: Option<<T as Table>::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.

Implementors§

Source§

impl<K: TransactionKind, T: Table> DbCursorRO<T> for Cursor<K, T>

Available on crate feature mdbx only.
Source§

impl<T> DbCursorRO<T> for CursorMock
where T: Table,