Class BaseShortUpdateByOperator
java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator
io.deephaven.engine.table.impl.updateby.internal.BaseShortUpdateByOperator
- Direct Known Subclasses:
ShortCumMinMaxOperator
,ShortDeltaOperator
,ShortFillByOperator
,ShortRollingMinMaxOperator
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final WritableColumnSource<Short>
protected final WritableColumnSource<Short>
Fields inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
affectingColumns, forwardWindowScaleUnits, inputModifiedColumnSet, outputModifiedColumnSet, pair, reverseWindowScaleUnits, rowRedirection, timestampColumnName
-
Constructor Summary
ConstructorsConstructorDescriptionBaseShortUpdateByOperator
(@NotNull MatchPair pair, @NotNull String[] affectingColumns, @Nullable RowRedirection rowRedirection) Construct a base operator for operations that produce short outputs.BaseShortUpdateByOperator
(@NotNull MatchPair pair, @NotNull String[] affectingColumns, @Nullable RowRedirection rowRedirection, @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, boolean isWindowed) Construct a base operator for operations that produce short outputs. -
Method Summary
Modifier and TypeMethodDescriptionvoid
applyOutputShift
(@NotNull RowSet subRowSetToShift, long delta) Apply a shift to the operation.void
clearOutputRows
(RowSet toClear) Clear the output rows by setting value to NULL.@NotNull Map<String,
ColumnSource<?>> Get a map of outputName to outputColumnSource
for this operation.void
initializeCumulative
(UpdateByOperator.Context context, long firstUnmodifiedKey, long firstUnmodifiedTimestamp, @NotNull RowSet bucketRowSet) Initialize the bucket context for a cumulative operatorvoid
prepareForParallelPopulation
(RowSet changedRows) Prepare this operator output column for parallel updated.void
Indicate that the operation should start tracking previous values for ticking updates.Methods inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
createInputModifiedColumnSet, createOutputModifiedColumnSet, extractDownstreamModifiedColumnSet, finishUpdate, getAffectingColumnNames, getFwdWindowUnits, getInputColumnNames, getInputModifiedColumnSet, getOutputColumnNames, getOutputModifiedColumnSet, getPrevWindowUnits, getTimestampColumnName, initializeRolling, makeUpdateContext, requiresRowPositions
-
Field Details
-
outputSource
-
maybeInnerSource
-
-
Constructor Details
-
BaseShortUpdateByOperator
public BaseShortUpdateByOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns, @Nullable @Nullable RowRedirection rowRedirection) Construct a base operator for operations that produce short outputs.- Parameters:
pair
- theMatchPair
that defines the input/output for this operationaffectingColumns
- a list of all columns (including the input column from the pair) that affects the result of this operator.rowRedirection
- theRowRedirection
for the output column
-
BaseShortUpdateByOperator
public BaseShortUpdateByOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns, @Nullable @Nullable RowRedirection rowRedirection, @Nullable @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, boolean isWindowed) Construct a base operator for operations that produce short outputs.- Parameters:
pair
- theMatchPair
that defines the input/output for this operationaffectingColumns
- a list of all columns (including the input column from the pair) that affects the result of this operator.rowRedirection
- theRowRedirection
for the output columntimestampColumnName
- an optional timestamp column. If this is null, it will be assumed time is measured in integer ticks.reverseWindowScaleUnits
- the reverse window for the operator. If notimestampColumnName
is provided, this is measured in ticks, otherwise it is measured in nanoseconds.forwardWindowScaleUnits
- the forward window for the operator. If notimestampColumnName
is provided, this is measured in ticks, otherwise it is measured in nanoseconds.
-
-
Method Details
-
initializeCumulative
public void initializeCumulative(@NotNull UpdateByOperator.Context context, long firstUnmodifiedKey, long firstUnmodifiedTimestamp, @NotNull @NotNull RowSet bucketRowSet) Description copied from class:UpdateByOperator
Initialize the bucket context for a cumulative operator- Overrides:
initializeCumulative
in classUpdateByOperator
-
startTrackingPrev
public void startTrackingPrev()Description copied from class:UpdateByOperator
Indicate that the operation should start tracking previous values for ticking updates.- Specified by:
startTrackingPrev
in classUpdateByOperator
-
applyOutputShift
Description copied from class:UpdateByOperator
Apply a shift to the operation.- Specified by:
applyOutputShift
in classUpdateByOperator
-
prepareForParallelPopulation
Description copied from class:UpdateByOperator
Prepare this operator output column for parallel updated.- Specified by:
prepareForParallelPopulation
in classUpdateByOperator
-
getOutputColumns
Description copied from class:UpdateByOperator
Get a map of outputName to outputColumnSource
for this operation.- Specified by:
getOutputColumns
in classUpdateByOperator
- Returns:
- a map of output column name to output column source
-
clearOutputRows
Description copied from class:UpdateByOperator
Clear the output rows by setting value to NULL. Dense sources will apply removes to the inner source.- Specified by:
clearOutputRows
in classUpdateByOperator
-