Class RollingGroupOperator

java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator
io.deephaven.engine.table.impl.updateby.rollinggroup.RollingGroupOperator

public class RollingGroupOperator extends UpdateByOperator
  • Field Details

    • groupRowSetSource

      protected WritableColumnSource<? extends RowSet> groupRowSetSource
      Store a mapping from row keys to bucket RowSets
    • innerGroupRowSetSource

      protected ObjectArraySource<? extends RowSet> innerGroupRowSetSource
    • startSource

      protected WritableColumnSource<Long> startSource
      These sources will retain the position offsets from the current row position for the source and end of this window. A primary benefit of storing offsets in position space vs. row keys is eliminating the need to shift keys stored inside these column sources. Also, any insertion/modification/remove that occurs within this specified window will trigger re-computation of these position offsets.

      NOTE: these offsets are inclusive and are stored as simple relative positions where start==0 or end==0 implies the current row is included in the window. A start/end range of [-5,-3] defines a window including exactly 3 rows beginning 5 rows earlier than this one and continuing through 3 rows earlier than this (inclusive). A range of [0,0] contains exactly the current row.

    • innerStartSource

      protected LongArraySource innerStartSource
    • endSource

      protected WritableColumnSource<Long> endSource
    • innerEndSource

      protected LongArraySource innerEndSource
  • Constructor Details

    • RollingGroupOperator

      public RollingGroupOperator(@NotNull @NotNull MatchPair[] pairs, @NotNull @NotNull String[] affectingColumns, @Nullable @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, @NotNull @NotNull TableDefinition tableDef)
    • RollingGroupOperator

      protected RollingGroupOperator(@NotNull @NotNull MatchPair[] pairs, @NotNull @NotNull String[] affectingColumns, @Nullable @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, @NotNull @NotNull String[] inputColumnNames, @NotNull @NotNull String[] outputColumnNames)
  • Method Details