fn build_halfjoin<'scope, T>(
updates: VecCollection<'scope, T, (Row, T), Diff>,
prev_key: Vec<LirScalarExpr>,
prev_thinning: Vec<usize>,
bundle: &CollectionBundle<'scope, T>,
lookup_key: Vec<LirScalarExpr>,
source_precedes_lookup: bool,
closure: JoinClosure,
config_set: Rc<ConfigSet>,
) -> (VecCollection<'scope, T, (Row, T), Diff>, VecCollection<'scope, T, DataflowErrorSer, Diff>)where
T: RenderTimestamp,Expand description
Constructs a half_join against the arrangement held by a collection bundle.
This wrapper demuxes over the two flavors of arrangement (dataflow-local or imported trace)
that the bundle might hold for lookup_key, dispatching to the generic build_halfjoin_trace
for each. source_precedes_lookup selects the tie-breaking comparison: le if the source
relation precedes the lookup relation in the total order on relations, otherwise lt.
The returned error collection holds only the errors this stage produces. The errors bundle
already carries are the caller’s to propagate, once, rather than once per delta path that looks
the input up. See bundle_errs.