Class IntRollingFormulaOperator
java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator
io.deephaven.engine.table.impl.updateby.rollingformula.IntRollingFormulaOperator
Rolling formula operator for source int columns. The output column type will be entirely dependent on the formula
provided by the user.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected WritableColumnSource<?>
protected WritableColumnSource<?>
protected final String
protected WritableColumnSource<?>
Fields inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
affectingColumns, forwardWindowScaleUnits, inputModifiedColumnSet, isWindowed, outputModifiedColumnSet, pair, reverseWindowScaleUnits, rowRedirection, timestampColumnName
-
Constructor Summary
ModifierConstructorDescriptionIntRollingFormulaOperator
(@NotNull MatchPair pair, @NotNull String[] affectingColumns, @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, @NotNull String formula, @NotNull String paramToken, @NotNull Map<Class<?>, FormulaColumn> formulaColumnMap, @NotNull TableDefinition tableDef, @NotNull QueryCompilerRequestProcessor compilationProcessor) protected
IntRollingFormulaOperator
(@NotNull MatchPair pair, @NotNull String[] affectingColumns, @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, Class<?> columnType, Class<?> componentType, Class<?> vectorType, @NotNull Map<Class<?>, FormulaColumn> formulaColumnMap, @NotNull TableDefinition tableDef) -
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.copy()
Create an uninitialized copy of this operator.protected static IntConsumer
getChunkSetter
(WritableChunk<? extends Values> valueChunk, ColumnSource<?> formulaOutputSource) @NotNull Map<String,
ColumnSource<?>> Get a map of outputName to outputColumnSource
for this operation.void
initializeSources
(@NotNull Table source, @Nullable RowRedirection rowRedirection) Initialize this operator with a specific source table (and row redirection if needed).@NotNull UpdateByOperator.Context
makeUpdateContext
(int affectedChunkSize, int influencerChunkSize) Make anUpdateByOperator.Context
suitable for use with updates.void
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, initializeCumulative, initializeCumulativeWithKeyValues, initializeRolling, initializeRollingWithKeyValues, requiresRowPositions
-
Field Details
-
PARAM_COLUMN_NAME
- See Also:
-
primitiveOutputSource
-
outputSource
-
maybeInnerSource
-
-
Constructor Details
-
IntRollingFormulaOperator
public IntRollingFormulaOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns, @Nullable @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, @NotNull @NotNull String formula, @NotNull @NotNull String paramToken, @NotNull @NotNull Map<Class<?>, FormulaColumn> formulaColumnMap, @NotNull @NotNull TableDefinition tableDef, @NotNull @NotNull QueryCompilerRequestProcessor compilationProcessor) -
IntRollingFormulaOperator
protected IntRollingFormulaOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns, @Nullable @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, Class<?> columnType, Class<?> componentType, Class<?> vectorType, @NotNull @NotNull Map<Class<?>, FormulaColumn> formulaColumnMap, @NotNull @NotNull TableDefinition tableDef)
-
-
Method Details
-
copy
Description copied from class:UpdateByOperator
Create an uninitialized copy of this operator.UpdateByOperator.initializeSources(Table, RowRedirection)
must be called before this operator can be used.- Specified by:
copy
in classUpdateByOperator
- Returns:
- a copy of this operator
-
makeUpdateContext
public @NotNull UpdateByOperator.Context makeUpdateContext(int affectedChunkSize, int influencerChunkSize) Description copied from class:UpdateByOperator
Make anUpdateByOperator.Context
suitable for use with updates.- Specified by:
makeUpdateContext
in classUpdateByOperator
- Parameters:
affectedChunkSize
- The maximum size of affected chunks that will be provided during the update.influencerChunkSize
- The maximum size of influencer chunks that will be provided during the update.- Returns:
- a new context
-
initializeSources
public void initializeSources(@NotNull @NotNull Table source, @Nullable @Nullable RowRedirection rowRedirection) Description copied from class:UpdateByOperator
Initialize this operator with a specific source table (and row redirection if needed). This will be called exactly once per operator.- Specified by:
initializeSources
in classUpdateByOperator
-
getChunkSetter
protected static IntConsumer getChunkSetter(WritableChunk<? extends Values> valueChunk, ColumnSource<?> formulaOutputSource) -
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
-
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
-
applyOutputShift
Description copied from class:UpdateByOperator
Apply a shift to the operation.- Specified by:
applyOutputShift
in classUpdateByOperator
-