Class BaseObjectBinaryOperator<T>

All Implemented Interfaces:
Direct Known Subclasses:
BigDecimalCumProdOperator, BigDecimalCumSumOperator, BigIntegerCumProdOperator, BigIntegerCumSumOperator, ComparableCumMinMaxOperator

public abstract class BaseObjectBinaryOperator<T>
extends BaseObjectUpdateByOperator<T>
  • Constructor Details

    • BaseObjectBinaryOperator

      public BaseObjectBinaryOperator​(@NotNull Class<T> type, @NotNull MatchPair pair, @NotNull String[] affectingColumns, @Nullable RowRedirection rowRedirection)
  • Method Details

    • doOperation

      protected abstract T doOperation​(T bucketCurVal, T chunkCurVal)
    • addChunk

      public void addChunk​(@NotNull UpdateByOperator.UpdateContext context, @NotNull Chunk<Values> values, @NotNull LongChunk<? extends RowKeys> keyChunk, @NotNull IntChunk<RowKeys> bucketPositions, @NotNull IntChunk<ChunkPositions> startPositions, @NotNull IntChunk<ChunkLengths> runLengths)
      Description copied from interface: UpdateByOperator
      Add a chunk of bucketed items to the operation.
      context - the context object
      values - the value chunk
      keyChunk - a chunk of keys for the rows being added
      bucketPositions - a chunk of hash bucket positions for each key
      startPositions - the start position of a run within the chunk
      runLengths - the runLengths of each run of bucket values
    • doAddChunk

      protected void doAddChunk​(@NotNull BaseObjectUpdateByOperator.Context ctx, @NotNull RowSequence inputKeys, @NotNull Chunk<Values> workingChunk, long groupPosition)
      Description copied from class: BaseObjectUpdateByOperator
      Add a chunk of values to the operator.
      Specified by:
      doAddChunk in class BaseObjectUpdateByOperator<T>
      ctx - the context object
      inputKeys - the input keys for the chunk
      workingChunk - the chunk of values
      groupPosition - the bucket position that the values belong to.