Class BaseByteUpdateByOperator
java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator
io.deephaven.engine.table.impl.updateby.internal.BaseByteUpdateByOperator
- Direct Known Subclasses:
BooleanFillByOperator,ByteCumMinMaxOperator,ByteDeltaOperator,ByteFillByOperator,ByteRollingMinMaxOperator
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected WritableColumnSource<Byte>protected WritableColumnSource<Byte>Fields inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
affectingColumns, forwardWindowScaleUnits, inputModifiedColumnSet, isWindowed, outputModifiedColumnSet, pair, reverseWindowScaleUnits, rowRedirection, timestampColumnName -
Constructor Summary
ConstructorsConstructorDescriptionBaseByteUpdateByOperator(@NotNull MatchPair pair, @NotNull String[] affectingColumns) Construct a base operator for operations that produce byte outputs.BaseByteUpdateByOperator(@NotNull MatchPair pair, @NotNull String[] affectingColumns, @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, boolean isWindowed) Construct a base operator for operations that produce byte outputs. -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyOutputShift(@NotNull RowSet subIndexToShift, long delta) Apply a shift to the operation.voidclearOutputRows(RowSet toClear) Clear the output rows by setting value to NULL.protected byte@NotNull Map<String,ColumnSource<?>> Get a map of outputName to outputColumnSourcefor this operation.voidinitializeCumulative(UpdateByOperator.Context context, long firstUnmodifiedKey, long firstUnmodifiedTimestamp, @NotNull RowSet bucketRowSet) Initialize the bucket context for a cumulative operatorvoidinitializeSources(@NotNull Table source, @Nullable RowRedirection rowRedirection) Initialize this operator with a specific source table (and row redirection if needed).protected WritableColumnSource<Byte>protected WritableColumnSource<Byte>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
copy, createInputModifiedColumnSet, createOutputModifiedColumnSet, extractDownstreamModifiedColumnSet, finishUpdate, getAffectingColumnNames, getFwdWindowUnits, getInputColumnNames, getInputModifiedColumnSet, getOutputColumnNames, getOutputModifiedColumnSet, getPrevWindowUnits, getTimestampColumnName, initializeCumulativeWithKeyValues, initializeRolling, initializeRollingWithKeyValues, makeUpdateContext, requiresRowPositions
-
Field Details
-
outputSource
-
maybeInnerSource
-
-
Constructor Details
-
BaseByteUpdateByOperator
public BaseByteUpdateByOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns) Construct a base operator for operations that produce byte outputs.- Parameters:
pair- theMatchPairthat 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.
-
BaseByteUpdateByOperator
public BaseByteUpdateByOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns, @Nullable @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, boolean isWindowed) Construct a base operator for operations that produce byte outputs.- Parameters:
pair- theMatchPairthat 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.timestampColumnName- 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 notimestampColumnNameis provided, this is measured in ticks, otherwise it is measured in nanoseconds.forwardWindowScaleUnits- the forward window for the operator. If notimestampColumnNameis provided, this is measured in ticks, otherwise it is measured in nanoseconds.
-
-
Method Details
-
initializeSources
@OverridingMethodsMustInvokeSuper 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
-
getNullValue
protected byte getNullValue() -
makeSparseSource
-
makeDenseSource
-
initializeCumulative
public void initializeCumulative(@NotNull UpdateByOperator.Context context, long firstUnmodifiedKey, long firstUnmodifiedTimestamp, @NotNull @NotNull RowSet bucketRowSet) Description copied from class:UpdateByOperatorInitialize the bucket context for a cumulative operator- Overrides:
initializeCumulativein classUpdateByOperator
-
startTrackingPrev
public void startTrackingPrev()Description copied from class:UpdateByOperatorIndicate that the operation should start tracking previous values for ticking updates.- Specified by:
startTrackingPrevin classUpdateByOperator
-
applyOutputShift
Description copied from class:UpdateByOperatorApply a shift to the operation.- Specified by:
applyOutputShiftin 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
-