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 classHolder 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, outputSourceFields 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.ContextmakeUpdateContext(int affectedChunkSize, int influencerChunkSize) Make anUpdateByOperator.Contextsuitable for use with updates.Methods inherited from class io.deephaven.engine.table.impl.updateby.internal.BaseLongUpdateByOperator
applyOutputShift, clearOutputRows, getOutputColumns, initializeCumulative, initializeSources, prepareForParallelPopulation, startTrackingPrevMethods 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: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
-
getInputColumnNames
This must be overridden to provide the input column chunks that will be needed for computation.- Overrides:
getInputColumnNamesin classUpdateByOperator- Returns:
- the names of the input column
-
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
-