Skip to main content

build_halfjoin

Function build_halfjoin 

Source
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.