Function mz_compute::render::reduce::build_basic_aggregates
source · fn build_basic_aggregates<G>(
debug_name: &str,
input: Collection<G, (Row, Row), Diff>,
aggrs: Vec<(usize, AggregateExpr)>
) -> (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 compute and arrange multiple non-accumulable,
non-hierarchical aggregations on input
.
This function assumes that we are explicitly rendering multiple basic aggregations.
For each aggregate, we render a different reduce operator, and then fuse
results together into a final arrangement that presents all the results
in the order specified by aggrs
.