Function mz_compute::render::reduce::build_collation
source · fn build_collation<G>(
debug_name: &str,
arrangements: Vec<(ReductionType, Arranged<G, TraceAgent<ColValSpine<Row, Row, <G as ScopeParent>::Timestamp, Diff, usize>>>)>,
aggregate_types: Vec<ReductionType>,
scope: &mut G
) -> (Arranged<G, TraceAgent<ColValSpine<Row, Row, <G as ScopeParent>::Timestamp, Diff, usize>>>, Collection<G, DataflowError, Diff>)where
G: Scope,
G::Timestamp: Lattice,
Expand description
Build the dataflow to combine arrangements containing results of different aggregation types into a single arrangement.
This computes the same thing as a join on the group key followed by shuffling the values into the correct order. This implementation assumes that all input arrangements present values in a way that respects the desired output order, so we can do a linear merge to form the output.