pub struct SubscriptionPlan { /* private fields */ }Expand description
A subscription defines a view over a table
Implementations§
Source§impl SubscriptionPlan
impl SubscriptionPlan
Sourcepub fn subscribed_table_id(&self) -> TableId
pub fn subscribed_table_id(&self) -> TableId
To which table does this plan subscribe?
Sourcepub fn subscribed_table_name(&self) -> &TableName
pub fn subscribed_table_name(&self) -> &TableName
To which table does this plan subscribe?
Sourcepub fn table_ids(&self) -> impl Iterator<Item = TableId> + '_
pub fn table_ids(&self) -> impl Iterator<Item = TableId> + '_
From which tables does this plan read?
Sourcepub fn optimized_physical_plan(&self) -> &ProjectPlan
pub fn optimized_physical_plan(&self) -> &ProjectPlan
The optimized plan without any delta scans
Sourcepub fn index_ids(&self) -> impl Iterator<Item = (TableId, IndexId)>
pub fn index_ids(&self) -> impl Iterator<Item = (TableId, IndexId)>
From which indexes does this plan read?
Sourcepub fn for_each_insert<'a, Tx: Datastore + DeltaStore>(
&self,
tx: &'a Tx,
metrics: &mut ExecutionMetrics,
f: &mut dyn FnMut(Row<'a>) -> Result<()>,
) -> Result<()>
pub fn for_each_insert<'a, Tx: Datastore + DeltaStore>( &self, tx: &'a Tx, metrics: &mut ExecutionMetrics, f: &mut dyn FnMut(Row<'a>) -> Result<()>, ) -> Result<()>
A subscription is just a view of a particular table. Here we compute the rows that are to be inserted into that view, and evaluate a closure over each one.
Sourcepub fn for_each_delete<'a, Tx: Datastore + DeltaStore>(
&self,
tx: &'a Tx,
metrics: &mut ExecutionMetrics,
f: &mut dyn FnMut(Row<'a>) -> Result<()>,
) -> Result<()>
pub fn for_each_delete<'a, Tx: Datastore + DeltaStore>( &self, tx: &'a Tx, metrics: &mut ExecutionMetrics, f: &mut dyn FnMut(Row<'a>) -> Result<()>, ) -> Result<()>
A subscription is just a view of a particular table. Here we compute the rows that are to be removed from that view, and evaluate a closure over each one.
Sourcepub fn join_edge(&self) -> Option<(JoinEdge, AlgebraicValue)>
pub fn join_edge(&self) -> Option<(JoinEdge, AlgebraicValue)>
Returns a join edge for this query if it has one.
Requirements include:
- Unique join index
- Single column index lookup on the rhs table
- No self joins
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SubscriptionPlan
impl RefUnwindSafe for SubscriptionPlan
impl Send for SubscriptionPlan
impl Sync for SubscriptionPlan
impl Unpin for SubscriptionPlan
impl UnwindSafe for SubscriptionPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more