Class BaseObjectBinaryOperator<T>
java.lang.Object
com.illumon.iris.db.v2.updateby.internal.BaseObjectUpdateByOperator<T>
com.illumon.iris.db.v2.updateby.internal.BaseObjectBinaryOperator<T>
- All Implemented Interfaces:
UpdateByOperator
- Direct Known Subclasses:
BigDecimalCumProdOperator,BigDecimalCumSumOperator,BigIntegerCumProdOperator,BigIntegerCumSumOperator,ComparableCumMinMaxOperator
public abstract class BaseObjectBinaryOperator<T> extends BaseObjectUpdateByOperator<T>
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.updateby.internal.BaseObjectUpdateByOperator
BaseObjectUpdateByOperator.ContextNested classes/interfaces inherited from interface com.illumon.iris.db.v2.updateby.UpdateByOperator
UpdateByOperator.UpdateContext -
Field Summary
Fields inherited from class com.illumon.iris.db.v2.updateby.internal.BaseObjectUpdateByOperator
affectingColumns, bucketLastVal, initialized, isRedirected, maybeInnerSource, outputSource, pair, singletonGroup, singletonValFields inherited from interface com.illumon.iris.db.v2.updateby.UpdateByOperator
ZERO_LENGTH_OP_ARRAY -
Constructor Summary
Constructors Constructor Description BaseObjectBinaryOperator(Class<T> type, MatchPair pair, String[] affectingColumns, RedirectionIndex redirectionIndex) -
Method Summary
Modifier and Type Method Description voidaddChunk(UpdateByOperator.UpdateContext context, Chunk<Attributes.Values> values, LongChunk<? extends Attributes.KeyIndices> keyChunk, IntChunk<Attributes.KeyIndices> bucketPositions, IntChunk<Attributes.ChunkPositions> startPositions, IntChunk<Attributes.ChunkLengths> runLengths)Add a chunk of bucketed items to the operation.protected voiddoAddChunk(BaseObjectUpdateByOperator.Context ctx, OrderedKeys inputKeys, Chunk<Attributes.Values> workingChunk, long groupPosition)Add a chunk of values to the operator.protected abstract TdoOperation(T bucketCurVal, T chunkCurVal)Methods inherited from class com.illumon.iris.db.v2.updateby.internal.BaseObjectUpdateByOperator
addChunk, anyModified, applyOutputShift, applyShift, canProcessNormalUpdate, finishFor, getAdditionalModifications, getAffectingColumnNames, getInputColumnName, getOutputColumnNames, getOutputColumns, initializeFor, initializeForUpdate, makeUpdateContext, modifyChunk, onBucketsRemoved, removeChunk, reprocessChunk, reprocessChunk, requiresKeys, requiresValues, resetForReprocess, resetForReprocess, setBucketCapacity, setChunkSize, startTrackingPrev
-
Constructor Details
-
BaseObjectBinaryOperator
public BaseObjectBinaryOperator(@NotNull Class<T> type, @NotNull MatchPair pair, @NotNull String[] affectingColumns, @Nullable RedirectionIndex redirectionIndex)
-
-
Method Details
-
doOperation
-
addChunk
public void addChunk(@NotNull UpdateByOperator.UpdateContext context, @NotNull Chunk<Attributes.Values> values, @NotNull LongChunk<? extends Attributes.KeyIndices> keyChunk, @NotNull IntChunk<Attributes.KeyIndices> bucketPositions, @NotNull IntChunk<Attributes.ChunkPositions> startPositions, @NotNull IntChunk<Attributes.ChunkLengths> runLengths)Description copied from interface:UpdateByOperatorAdd a chunk of bucketed items to the operation.- Parameters:
context- the context objectvalues- the value chunkkeyChunk- a chunk of keys for the rows being addedbucketPositions- a chunk of hash bucket positions for each keystartPositions- the start position of a run within the chunkrunLengths- the runLengths of each run of bucket values
-
doAddChunk
protected void doAddChunk(@NotNull BaseObjectUpdateByOperator.Context ctx, @NotNull OrderedKeys inputKeys, @NotNull Chunk<Attributes.Values> workingChunk, long groupPosition)Description copied from class:BaseObjectUpdateByOperatorAdd a chunk of values to the operator.- Specified by:
doAddChunkin classBaseObjectUpdateByOperator<T>- Parameters:
ctx- the context objectinputKeys- the input keys for the chunkworkingChunk- the chunk of valuesgroupPosition- the bucket position that the values belong to.
-