Class BaseIntUpdateByOperator.Context

java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator.Context
io.deephaven.engine.table.impl.updateby.internal.BaseIntUpdateByOperator.Context
All Implemented Interfaces:
SafeCloseable, AutoCloseable
Direct Known Subclasses:
IntCumMinMaxOperator.Context, IntDeltaOperator.Context, IntFillByOperator.Context, IntRollingMinMaxOperator.Context
Enclosing class:
BaseIntUpdateByOperator

protected abstract class BaseIntUpdateByOperator.Context extends UpdateByOperator.Context
  • Field Details

  • Constructor Details

    • Context

      protected Context(int chunkSize)
  • Method Details

    • accumulateCumulative

      public void accumulateCumulative(@NotNull @NotNull RowSequence inputKeys, @NotNull @NotNull Chunk<? extends Values>[] valueChunkArr, @Nullable @Nullable LongChunk<? extends Values> tsChunk, int len)
      Description copied from class: UpdateByOperator.Context
      For cumulative operators only, this method will be called to pass the input chunk data to the operator and produce the output data values.
      Specified by:
      accumulateCumulative in class UpdateByOperator.Context
      Parameters:
      inputKeys - the keys for the input data rows (also matches the output keys)
      valueChunkArr - the input data chunks needed by the operator for internal calculations
      tsChunk - the timestamp chunk for the input data (if applicable)
      len - the number of items in the input data chunks
    • accumulateRolling

      public void accumulateRolling(@NotNull @NotNull RowSequence inputKeys, @NotNull @NotNull Chunk<? extends Values>[] influencerValueChunkArr, @Nullable @Nullable LongChunk<OrderedRowKeys> affectedPosChunk, @Nullable @Nullable LongChunk<OrderedRowKeys> influencerPosChunk, @NotNull @NotNull IntChunk<? extends Values> pushChunk, @NotNull @NotNull IntChunk<? extends Values> popChunk, int affectedCount, int influencerCount)
      Description copied from class: UpdateByOperator.Context
      For windowed operators only, this method will be called to pass the input chunk data to the operator and produce the output data values. It is important to note that the size of the influencer (input) and affected (output) chunks are not likely be the same. We pass these sizes explicitly to the operators for the sake of the operators (such as CountWhereOperator with zero input columns) where no input chunks are provided but we must still process the exact number of input rows.
      Specified by:
      accumulateRolling in class UpdateByOperator.Context
      Parameters:
      inputKeys - the keys for the input data rows (also matches the output keys)
      influencerValueChunkArr - the input data chunks needed by the operator for internal calculations, these values will be pushed and popped into the current window
      affectedPosChunk - the row positions of the affected rows
      influencerPosChunk - the row positions of the influencer rows
      pushChunk - a chunk containing the push instructions for each output row to be calculated
      popChunk - a chunk containing the pop instructions for each output row to be calculated
      affectedCount - how many affected (output) rows are being computed
      influencerCount - how many influencer (input) rows are needed for the computation
    • setValueChunks

      public void setValueChunks(@NotNull @NotNull Chunk<? extends Values>[] valueChunks)
      Specified by:
      setValueChunks in class UpdateByOperator.Context
    • writeToOutputChunk

      public void writeToOutputChunk(int outIdx)
      Description copied from class: UpdateByOperator.Context
      Write the current value for this row to the output chunk
      Specified by:
      writeToOutputChunk in class UpdateByOperator.Context
    • writeNullToOutputChunk

      protected void writeNullToOutputChunk(int outIdx)
    • writeToOutputColumn

      public void writeToOutputColumn(@NotNull @NotNull RowSequence inputKeys)
      Description copied from class: UpdateByOperator.Context
      Write the output chunk to the output column
      Specified by:
      writeToOutputColumn in class UpdateByOperator.Context
    • reset

      public void reset()
      Description copied from class: UpdateByOperator.Context
      Reset the operator data values to a known state. This may occur during initialization or when a windowed operator has an empty window
      Specified by:
      reset in class UpdateByOperator.Context
    • close

      public void close()