Trait DeltaStore

Source
pub trait DeltaStore {
    // Required methods
    fn num_inserts(&self, table_id: TableId) -> usize;
    fn num_deletes(&self, table_id: TableId) -> usize;
    fn inserts_for_table(
        &self,
        table_id: TableId,
    ) -> Option<Iter<'_, ProductValue>>;
    fn deletes_for_table(
        &self,
        table_id: TableId,
    ) -> Option<Iter<'_, ProductValue>>;
    fn index_scan_range_for_delta(
        &self,
        table_id: TableId,
        index_id: IndexId,
        delta: Delta,
        range: impl RangeBounds<AlgebraicValue>,
    ) -> impl Iterator<Item = Row<'_>>;
    fn index_scan_point_for_delta(
        &self,
        table_id: TableId,
        index_id: IndexId,
        delta: Delta,
        point: &AlgebraicValue,
    ) -> impl Iterator<Item = Row<'_>>;

    // Provided methods
    fn has_inserts(&self, table_id: TableId) -> bool { ... }
    fn has_deletes(&self, table_id: TableId) -> bool { ... }
    fn delta_scan(&self, table_id: TableId, inserts: bool) -> DeltaScanIter<'_>  { ... }
}

Required Methods§

Source

fn num_inserts(&self, table_id: TableId) -> usize

Source

fn num_deletes(&self, table_id: TableId) -> usize

Source

fn inserts_for_table(&self, table_id: TableId) -> Option<Iter<'_, ProductValue>>

Source

fn deletes_for_table(&self, table_id: TableId) -> Option<Iter<'_, ProductValue>>

Source

fn index_scan_range_for_delta( &self, table_id: TableId, index_id: IndexId, delta: Delta, range: impl RangeBounds<AlgebraicValue>, ) -> impl Iterator<Item = Row<'_>>

Source

fn index_scan_point_for_delta( &self, table_id: TableId, index_id: IndexId, delta: Delta, point: &AlgebraicValue, ) -> impl Iterator<Item = Row<'_>>

Provided Methods§

Source

fn has_inserts(&self, table_id: TableId) -> bool

Source

fn has_deletes(&self, table_id: TableId) -> bool

Source

fn delta_scan(&self, table_id: TableId, inserts: bool) -> DeltaScanIter<'_>

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§