Trait brontes_database::libmdbx::LibmdbxInit

source ·
pub trait LibmdbxInit: LibmdbxReader + DBWriter {
    // Required methods
    fn initialize_table<T: TracingProvider, CH: ClickhouseHandle>(
        &'static self,
        clickhouse: &'static CH,
        tracer: Arc<T>,
        tables: Tables,
        clear_tables: bool,
        block_range: Option<(u64, u64)>,
        progress_bar: Arc<Vec<(Tables, ProgressBar)>>,
        metrics: bool,
    ) -> impl Future<Output = Result<()>> + Send;
    fn initialize_full_range_tables<T: TracingProvider, CH: ClickhouseHandle>(
        &'static self,
        clickhouse: &'static CH,
        tracer: Arc<T>,
        metrics: bool,
    ) -> impl Future<Output = Result<()>> + Send;
    fn initialize_table_arbitrary<T: TracingProvider, CH: ClickhouseHandle>(
        &'static self,
        clickhouse: &'static CH,
        tracer: Arc<T>,
        tables: Tables,
        block_range: Vec<u64>,
        progress_bar: Arc<Vec<(Tables, ProgressBar)>>,
        metrics: bool,
    ) -> impl Future<Output = Result<()>> + Send;
    fn state_to_initialize(
        &self,
        start_block: u64,
        end_block: u64,
    ) -> Result<StateToInitialize>;
    fn get_db_range(&self) -> Result<(u64, u64)>;
}

Required Methods§

source

fn initialize_table<T: TracingProvider, CH: ClickhouseHandle>( &'static self, clickhouse: &'static CH, tracer: Arc<T>, tables: Tables, clear_tables: bool, block_range: Option<(u64, u64)>, progress_bar: Arc<Vec<(Tables, ProgressBar)>>, metrics: bool, ) -> impl Future<Output = Result<()>> + Send

initializes all the tables with data via the CLI

source

fn initialize_full_range_tables<T: TracingProvider, CH: ClickhouseHandle>( &'static self, clickhouse: &'static CH, tracer: Arc<T>, metrics: bool, ) -> impl Future<Output = Result<()>> + Send

Initialize the small tables that aren’t indexed by block number

source

fn initialize_table_arbitrary<T: TracingProvider, CH: ClickhouseHandle>( &'static self, clickhouse: &'static CH, tracer: Arc<T>, tables: Tables, block_range: Vec<u64>, progress_bar: Arc<Vec<(Tables, ProgressBar)>>, metrics: bool, ) -> impl Future<Output = Result<()>> + Send

initializes all the tables with missing data ranges via the CLI

source

fn state_to_initialize( &self, start_block: u64, end_block: u64, ) -> Result<StateToInitialize>

source

fn get_db_range(&self) -> Result<(u64, u64)>

Object Safety§

This trait is not object safe.

Implementors§