Class GroupByReaggregateOperator

java.lang.Object
io.deephaven.engine.table.impl.by.GroupByReaggregateOperator
All Implemented Interfaces:
GroupByOperator, IterativeChunkedAggregationOperator

public final class GroupByReaggregateOperator extends Object implements GroupByOperator
An IterativeChunkedAggregationOperator used to re-aggregate the results of an AggGroup as part of a rollup.

The operator is fundamentally different than the GroupByChunkedOperator. Rather than examining row keys, it listens to the rollup's base (or intermediate) level and reads the exposed RowSet column. The relevant RowSets are added to a random builder for each state while processing an update (or initialization). At the end of the update cycle, it builds the rowsets and updates an internal ObjectArraySource of RowSets.

The resulting column sources are once again AggregateColumnSource, which reuse the wrapped aggregated column source from the source table (thus each level of the rollup uses the original table's sources as the input to the AggregateColumnSources -- not the immediately prior level).