Class UpdateByOperator.Context

java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator.Context
All Implemented Interfaces:
SafeCloseable, AutoCloseable
Direct Known Subclasses:
BaseByteUpdateByOperator.Context, BaseCharUpdateByOperator.Context, BaseDoubleUpdateByOperator.Context, BaseFloatUpdateByOperator.Context, BaseIntUpdateByOperator.Context, BaseLongUpdateByOperator.Context, BaseObjectUpdateByOperator.Context, BaseShortUpdateByOperator.Context, BooleanRollingFormulaOperator.Context, ByteRollingFormulaOperator.Context, CharRollingFormulaOperator.Context, DoubleRollingFormulaOperator.Context, FloatRollingFormulaOperator.Context, IntRollingFormulaOperator.Context, LongRollingFormulaOperator.Context, ObjectRollingFormulaOperator.Context, RollingGroupOperator.Context, ShortRollingFormulaOperator.Context
Enclosing class:
UpdateByOperator

public abstract static class UpdateByOperator.Context extends Object implements SafeCloseable
A context item for use with updateBy operators
  • Field Details

  • Constructor Details

    • Context

      public Context()
  • Method Details

    • isValueValid

      public boolean isValueValid(long atKey)
    • setValueChunks

      protected abstract void setValueChunks(@NotNull @NotNull Chunk<? extends Values>[] valueChunks)
    • setPosChunks

      protected void setPosChunks(LongChunk<OrderedRowKeys> affectedPosChunk, LongChunk<OrderedRowKeys> influencerPosChunk)
    • push

      protected abstract void push(int pos, int count)
      Add values to the operators current data set
      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

      protected void pop(int count)
      Remove values from the operators current data set. This is only valid for windowed operators as cumulative operators only append values
      Parameters:
      count - the number of items to pop from the data set
    • accumulateCumulative

      public abstract void accumulateCumulative(RowSequence inputKeys, Chunk<? extends Values>[] valueChunkArr, LongChunk<? extends Values> tsChunk, int len)
    • accumulateRolling

      public abstract void accumulateRolling(RowSequence inputKeys, Chunk<? extends Values>[] influencerValueChunkArr, LongChunk<OrderedRowKeys> affectedPosChunk, LongChunk<OrderedRowKeys> influencerPosChunk, IntChunk<? extends Values> pushChunk, IntChunk<? extends Values> popChunk, int len)
    • writeToOutputChunk

      protected abstract void writeToOutputChunk(int outIdx)
      Write the current value for this row to the output chunk
    • writeToOutputColumn

      protected abstract void writeToOutputColumn(@NotNull @NotNull RowSequence inputKeys)
      Write the output chunk to the output column
    • reset

      @OverridingMethodsMustInvokeSuper protected abstract void reset()
      Reset the operator data values to a known state. This may occur during initialization or when a windowed operator has an empty window