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§
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<'_> ⓘ
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.