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
-
Field Summary
Modifier 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
ConstructorDescriptionBaseByteUpdateByOperator
(@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 TypeMethodDescriptionvoid
applyOutputShift
(@NotNull RowSet subIndexToShift, long delta) Apply a shift to the operation.void
clearOutputRows
(RowSet toClear) Clear the output rows by setting value to NULL.protected byte
@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
initializeSources
(@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>
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
copy, createInputModifiedColumnSet, createOutputModifiedColumnSet, extractDownstreamModifiedColumnSet, finishUpdate, getAffectingColumnNames, getFwdWindowUnits, getInputColumnNames, getInputModifiedColumnSet, getOutputColumnNames, getOutputModifiedColumnSet, getPrevWindowUnits, getTimestampColumnName, initializeRolling, 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
- 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.
-
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
- 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.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 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
-
initializeSources
@OverridingMethodsMustInvokeSuper 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
-
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: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
-