aggInto

private fnvoid aggInto(string agg, Kind K, Build)(ref GatherCursor!K cursor, const size_t[] rows, ref Build b)

The aggregation arithmetic itself: appends exactly one slot (value or null) into b - the same statements the one-slot kernel has always executed, moved verbatim so the one-slot and batched paths share them (the oracle contract; ADR-2026-10-18-14).

Parameters

aggthe aggregation kernel name
Kthe aggregated kind
Buildthe builder type (AggBuild!(agg, K))
cursorthe column's gather cursor (built once per column by the callers - its constructor allocates, so the batched path must not rebuild it per group)
rowsthe group's rows, in original order
bthe builder the slot appends into