Package com.illumon.iris.db.v2.by
Interface AggregationStateFactory
- All Known Implementing Classes:
AbsSumStateFactory
,AggregationFormulaStateFactory
,AggregationIndexStateFactory
,AppendMinMaxByStateFactoryImpl
,AvgStateFactory
,ComboAggregateFactory
,CountByStateFactoryImpl
,CountDistinctStateFactory
,DistinctStateFactory
,FirstByStateFactoryImpl
,IterativeIndexStateFactory
,IterativeOperatorStateFactory
,KeyOnlyFirstOrLastByStateFactory
,LastByStateFactoryImpl
,MinMaxByStateFactoryImpl
,PercentileByStateFactoryImpl
,ReaggregatableStatefactory
,SelectDistinctStateFactoryImpl
,SortedFirstBy
,SortedFirstOrLastByFactoryImpl
,SortedLastBy
,StdStateFactory
,SumStateFactory
,TrackingFirstByStateFactoryImpl
,TrackingLastByStateFactoryImpl
,UniqueStateFactory
,VarStateFactory
,WeightedAverageStateFactoryImpl
,WeightedSumStateFactoryImpl
public interface AggregationStateFactory
The aggregation state factory is passed to the by operation, and is used to create new aggregation states for each
of the output rows (or in case of byExternal, each of the output tables).
The factory also returns the result column sources.
-
Method Summary
Modifier and Type Method Description default AggregationMemoKey
getMemoKey()
Produces a MemoKey for this aggregation state factory.
-
Method Details
-
getMemoKey
Produces a MemoKey for this aggregation state factory.If two AggregationStateFactories have equal memoKeys, then
Table.by(com.illumon.iris.db.v2.by.AggregationStateFactory, com.illumon.iris.db.v2.select.SelectColumn...)
operations that have the same group by columns may be memoized. In that case instead of recomputing the result; the original result will be used.If null is returned, the operation will not be memoized.
- Returns:
- an AggregationMemoKey, null if this operation can not be memoized.
-