Interface IncrementalOperatorAggregationStateManager

All Known Implementing Classes:
IncrementalChunkedOperatorAggregationStateManagerOpenAddressedBase, IncrementalChunkedOperatorAggregationStateManagerTypedBase

public interface IncrementalOperatorAggregationStateManager
Interface for ChunkedOperatorAggregationHelper to process incremental updates.
  • Field Details

  • Method Details

    • makeProbeContext

      SafeCloseable makeProbeContext(ColumnSource<?>[] probeSources, long maxSize)
    • beginUpdateCycle

      void beginUpdateCycle()
      Allow our managers to do a little bit of work at the very start of the update cycle. We have this method so that even if nothing is to be done, we rehash a little bit on each cycle to avoid always rehashing when there is other work to be done.
    • startTrackingPrevValues

      void startTrackingPrevValues()
    • remove

      void remove(SafeCloseable pc, RowSequence rowSequence, ColumnSource<?>[] sources, WritableIntChunk<RowKeys> outputPositions)
    • findModifications

      void findModifications(SafeCloseable pc, RowSequence rowSequence, ColumnSource<?>[] sources, WritableIntChunk<RowKeys> outputPositions)
    • maxTableSize

      int maxTableSize()
    • makeAggregationStateBuildContext

      SafeCloseable makeAggregationStateBuildContext(ColumnSource<?>[] buildSources, long maxSize)
    • add

      void add(SafeCloseable bc, RowSequence rowSequence, ColumnSource<?>[] sources, org.apache.commons.lang3.mutable.MutableInt nextOutputPosition, WritableIntChunk<RowKeys> outputPositions)
    • getKeyHashTableSources

      ColumnSource[] getKeyHashTableSources()
    • findPositionForKey

      int findPositionForKey(Object key)
      Implement a lookup in order to support AggregationRowLookup.get(Object).
      Parameters:
      key - The opaque group-by key to find the row position/key for
      Returns:
      The row position/key for key in the result table, or -1 if not found