pub struct FamilyPipeline {
pub top: NodeId,
pub root_conn: NodeId,
pub root_take: Option<NodeId>,
pub param_cols: Vec<ColId>,
pub bindings: Rc<BindingSet>,
/* private fields */
}Expand description
A built family pipeline: what build_family_pipeline returns and what the graph’s
bind/unbind/hydrate entry points take. The node ids are the pipeline’s own (the
caller records them in a PipelineManifest exactly as for a singleton).
Fields§
§top: NodeIdWhat the sink is wired to (the pipeline top), as build_pipeline returns it.
root_conn: NodeIdThe root SourceConn — the connection carrying the membership predicate (and,
with dynamic guards, the growing push-index guard).
root_take: Option<NodeId>The partitioned root limiter, when the template carries a limit.
param_cols: Vec<ColId>The partition key: the parameter columns resolved on the root schema, in parameter order. Every root row carries its own partition value, which is what makes output routing a column read (design §4.2).
bindings: Rc<BindingSet>The binding-set handle the root connection’s predicate reads.
Implementations§
Source§impl FamilyPipeline
impl FamilyPipeline
Sourcepub fn constraint_for(&self, b: &CanonKey) -> Constraint
pub fn constraint_for(&self, b: &CanonKey) -> Constraint
The fetch constraint that names binding b’s partition: the parameter columns
paired with the binding’s canonical representatives (CanonVal::to_owned_value).