Class RollingGroupOperator.Context

java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator.Context
io.deephaven.engine.table.impl.updateby.rollinggroup.RollingGroupOperator.Context
All Implemented Interfaces:
SafeCloseable, AutoCloseable
Enclosing class:
RollingGroupOperator

public class RollingGroupOperator.Context extends UpdateByOperator.Context
  • Field Details

  • Constructor Details

    • Context

      protected Context(int chunkSize)
  • Method Details

    • close

      public void close()
    • accumulateCumulative

      public void accumulateCumulative(@NotNull @NotNull RowSequence inputKeys, Chunk<? extends Values>[] valueChunkArr, 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, Chunk<? extends Values>[] influencerValueChunkArr, LongChunk<OrderedRowKeys> affectedPosChunk, LongChunk<OrderedRowKeys> influencerPosChunk, IntChunk<? extends Values> pushChunk, 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
    • push

      public void push(int pos, int count)
      Description copied from class: UpdateByOperator.Context
      Add values to the operators current data set
      Specified by:
      push in class UpdateByOperator.Context
      Parameters:
      pos - the index in the associated chunk where this value can be found. Depending on the usage, might be a values chunk (for cumulative operators) or an influencer values chunk (for windowed). It is the task of the operator to pull the data from the chunk and use it properly
      count - the number of items to push from the chunk
    • pop

      public void pop(int count)
      Description copied from class: UpdateByOperator.Context
      Remove values from the operators current data set. This is only valid for windowed operators as cumulative operators only append values
      Overrides:
      pop in class UpdateByOperator.Context
      Parameters:
      count - the number of items to pop from the data set
    • 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
    • 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
    • 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