reth_db

Trait DbTxUnwindExt

pub trait DbTxUnwindExt: DbTxMut {
    // Provided methods
    fn unwind_table_by_num<T>(&self, num: u64) -> Result<usize, DatabaseError>
       where T: Table<Key = u64> { ... }
    fn unwind_table<T, F>(
        &self,
        key: u64,
        selector: F,
    ) -> Result<usize, DatabaseError>
       where T: Table,
             F: FnMut(<T as Table>::Key) -> u64 { ... }
    fn unwind_table_by_walker<T1, T2>(
        &self,
        range: impl RangeBounds<<T1 as Table>::Key>,
    ) -> Result<(), DatabaseError>
       where T1: Table,
             T2: Table<Key = <T1 as Table>::Value> { ... }
}
Expand description

Extension trait for DbTxMut that provides unwind functionality.

Provided Methods§

fn unwind_table_by_num<T>(&self, num: u64) -> Result<usize, DatabaseError>
where T: Table<Key = u64>,

Unwind table by some number key. Returns number of rows unwound.

Note: Key is not inclusive and specified key would stay in db.

fn unwind_table<T, F>( &self, key: u64, selector: F, ) -> Result<usize, DatabaseError>
where T: Table, F: FnMut(<T as Table>::Key) -> u64,

Unwind the table to a provided number key. Returns number of rows unwound.

Note: Key is not inclusive and specified key would stay in db.

fn unwind_table_by_walker<T1, T2>( &self, range: impl RangeBounds<<T1 as Table>::Key>, ) -> Result<(), DatabaseError>
where T1: Table, T2: Table<Key = <T1 as Table>::Value>,

Unwind a table forward by a Walker on another table.

Note: Range is inclusive and first key in the range is removed.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl<T> DbTxUnwindExt for T
where T: DbTxMut,