Class CountWhereOperator
java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator
io.deephaven.engine.table.impl.updateby.internal.BaseLongUpdateByOperator
io.deephaven.engine.table.impl.updateby.countwhere.CountWhereOperator
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Holder class to hold filter objects and the input column indices they apply to. -
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.updateby.internal.BaseLongUpdateByOperator
maybeInnerSource, outputSource
Fields inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
affectingColumns, forwardWindowScaleUnits, inputModifiedColumnSet, isWindowed, outputModifiedColumnSet, pair, reverseWindowScaleUnits, rowRedirection, timestampColumnName
-
Constructor Summary
ConstructorsConstructorDescriptionCountWhereOperator
(@NotNull MatchPair pair, @NotNull String[] affectingColumns, @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, CountWhereOperator.CountFilter[] filters, String[] inputColumnNames, ColumnSource<?>[] originalSources, ColumnSource<?>[] reinterpretedSources, boolean chunkSourceTableRequired, boolean originalChunksRequired) Create a new CountWhereOperator for rolling / windowed operations.CountWhereOperator
(@NotNull MatchPair pair, CountWhereOperator.CountFilter[] filters, String[] inputColumnNames, ColumnSource<?>[] originalSources, ColumnSource<?>[] reinterpretedSources, boolean chunkSourceTableRequired, boolean originalChunksRequired) Create a new CountWhereOperator for cumulative operations. -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Create an uninitialized copy of this operator.protected @NotNull String[]
This must be overridden to provide the input column chunks that will be needed for computation.@NotNull UpdateByOperator.Context
makeUpdateContext
(int affectedChunkSize, int influencerChunkSize) Make anUpdateByOperator.Context
suitable for use with updates.Methods inherited from class io.deephaven.engine.table.impl.updateby.internal.BaseLongUpdateByOperator
applyOutputShift, clearOutputRows, getOutputColumns, initializeCumulative, initializeSources, prepareForParallelPopulation, startTrackingPrev
Methods inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
createInputModifiedColumnSet, createOutputModifiedColumnSet, extractDownstreamModifiedColumnSet, finishUpdate, getAffectingColumnNames, getFwdWindowUnits, getInputModifiedColumnSet, getOutputColumnNames, getOutputModifiedColumnSet, getPrevWindowUnits, getTimestampColumnName, initializeCumulativeWithKeyValues, initializeRolling, initializeRollingWithKeyValues, requiresRowPositions
-
Constructor Details
-
CountWhereOperator
public CountWhereOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns, @Nullable @Nullable String timestampColumnName, long reverseWindowScaleUnits, long forwardWindowScaleUnits, CountWhereOperator.CountFilter[] filters, String[] inputColumnNames, ColumnSource<?>[] originalSources, ColumnSource<?>[] reinterpretedSources, boolean chunkSourceTableRequired, boolean originalChunksRequired) Create a new CountWhereOperator for rolling / windowed operations.- Parameters:
pair
- Contains the output column name as a MatchPairaffectingColumns
- The names of the columns that when changed would affect this formula outputtimestampColumnName
- The name of the column containing timestamps for time-based calculations (or null when not time-based)reverseWindowScaleUnits
- The size of the reverse window in ticks (or nanoseconds when time-based)forwardWindowScaleUnits
- The size of the forward window in ticks (or nanoseconds when time-based)filters
- the filters to apply to the input columnsinputColumnNames
- The names of the key columns to be used as inputsoriginalSources
- Representative original sources for the input columns; stores type information and helps convert input data chunks but does not hold any actual datareinterpretedSources
- Representative reinterpreted sources for input columns; stores type information but does not hold any actual datachunkSourceTableRequired
- Whether we need to create and maintain a chunk source tableoriginalChunksRequired
- Whether we need to produce original-typed chunks for condition and chunk filters
-
CountWhereOperator
public CountWhereOperator(@NotNull @NotNull MatchPair pair, CountWhereOperator.CountFilter[] filters, String[] inputColumnNames, ColumnSource<?>[] originalSources, ColumnSource<?>[] reinterpretedSources, boolean chunkSourceTableRequired, boolean originalChunksRequired) Create a new CountWhereOperator for cumulative operations.- Parameters:
pair
- Contains the output column name as a MatchPairfilters
- the filters to apply to the input columnsoriginalSources
- Representative original sources for the input columns; stores type information and helps convert input data chunks but does not hold any actual datareinterpretedSources
- Representative reinterpreted sources for input columns; stores type information but does not hold any actual datachunkSourceTableRequired
- Whether we need to create and maintain a chunk source tableoriginalChunksRequired
- Whether we need to produce original-typed chunks for condition and chunk filters
-
-
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
-
getInputColumnNames
This must be overridden to provide the input column chunks that will be needed for computation.- Overrides:
getInputColumnNames
in classUpdateByOperator
- Returns:
- the names of the input column
-
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
-