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
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected WritableColumnSource<?>protected WritableColumnSource<?>protected final Stringprotected WritableColumnSource<?>Fields inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
affectingColumns, forwardWindowScaleUnits, inputModifiedColumnSet, isWindowed, outputModifiedColumnSet, pair, reverseWindowScaleUnits, rowRedirection, timestampColumnName -
Constructor Summary
ConstructorsModifierConstructorDescriptionIntRollingFormulaOperator(@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) protectedIntRollingFormulaOperator(@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 TypeMethodDescriptionvoidapplyOutputShift(@NotNull RowSet subRowSetToShift, long delta) Apply a shift to the operation.voidclearOutputRows(RowSet toClear) Clear the output rows by setting value to NULL.copy()Create an uninitialized copy of this operator.protected static IntConsumergetChunkSetter(WritableChunk<? extends Values> valueChunk, ColumnSource<?> formulaOutputSource) @NotNull Map<String,ColumnSource<?>> Get a map of outputName to outputColumnSourcefor this operation.voidinitializeSources(@NotNull Table source, @Nullable RowRedirection rowRedirection) Initialize this operator with a specific source table (and row redirection if needed).@NotNull UpdateByOperator.ContextmakeUpdateContext(int affectedChunkSize, int influencerChunkSize) Make anUpdateByOperator.Contextsuitable for use with updates.voidprepareForParallelPopulation(RowSet changedRows) Prepare this operator output column for parallel updated.voidIndicate 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:UpdateByOperatorCreate an uninitialized copy of this operator.UpdateByOperator.initializeSources(Table, RowRedirection)must be called before this operator can be used.- Specified by:
copyin classUpdateByOperator- Returns:
- a copy of this operator
-
makeUpdateContext
public @NotNull UpdateByOperator.Context makeUpdateContext(int affectedChunkSize, int influencerChunkSize) Description copied from class:UpdateByOperatorMake anUpdateByOperator.Contextsuitable for use with updates.- Specified by:
makeUpdateContextin 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:UpdateByOperatorInitialize this operator with a specific source table (and row redirection if needed). This will be called exactly once per operator.- Specified by:
initializeSourcesin classUpdateByOperator
-
getChunkSetter
protected static IntConsumer getChunkSetter(WritableChunk<? extends Values> valueChunk, ColumnSource<?> formulaOutputSource) -
startTrackingPrev
public void startTrackingPrev()Description copied from class:UpdateByOperatorIndicate that the operation should start tracking previous values for ticking updates.- Specified by:
startTrackingPrevin classUpdateByOperator
-
prepareForParallelPopulation
Description copied from class:UpdateByOperatorPrepare this operator output column for parallel updated.- Specified by:
prepareForParallelPopulationin classUpdateByOperator
-
getOutputColumns
Description copied from class:UpdateByOperatorGet a map of outputName to outputColumnSourcefor this operation.- Specified by:
getOutputColumnsin classUpdateByOperator- Returns:
- a map of output column name to output column source
-
clearOutputRows
Description copied from class:UpdateByOperatorClear the output rows by setting value to NULL. Dense sources will apply removes to the inner source.- Specified by:
clearOutputRowsin classUpdateByOperator
-
applyOutputShift
Description copied from class:UpdateByOperatorApply a shift to the operation.- Specified by:
applyOutputShiftin classUpdateByOperator
-