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
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.updateby.internal.BaseObjectUpdateByOperator
BaseObjectUpdateByOperator.Context
Nested 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, singletonVal
Fields inherited from interface com.illumon.iris.db.v2.updateby.UpdateByOperator
ZERO_LENGTH_OP_ARRAY
-
Constructor Summary
ConstructorsConstructorDescriptionBaseObjectBinaryOperator
(Class<T> type, MatchPair pair, String[] affectingColumns, RedirectionIndex redirectionIndex) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
accumulate
(ObjectChunk<T, Attributes.Values> asObject, BaseObjectUpdateByOperator<T>.Context ctx, int runStart, int runLength) void
addChunk
(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 void
doAddChunk
(BaseObjectUpdateByOperator<T>.Context ctx, OrderedKeys inputKeys, Chunk<Attributes.Values> workingChunk, long groupPosition) Add a chunk of values to the operator.protected abstract T
doOperation
(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:UpdateByOperator
Add 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<T>.Context ctx, @NotNull OrderedKeys inputKeys, @NotNull Chunk<Attributes.Values> workingChunk, long groupPosition) Description copied from class:BaseObjectUpdateByOperator
Add a chunk of values to the operator.- Specified by:
doAddChunk
in 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.
-
accumulate
protected void accumulate(@NotNull ObjectChunk<T, Attributes.Values> asObject, @NotNull BaseObjectUpdateByOperator<T>.Context ctx, int runStart, int runLength)
-