Class IntDeltaOperator
java.lang.Object
com.illumon.iris.db.v2.updateby.internal.BaseIntUpdateByOperator
com.illumon.iris.db.v2.updateby.delta.IntDeltaOperator
- All Implemented Interfaces:
UpdateByOperator
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.updateby.internal.BaseIntUpdateByOperator
BaseIntUpdateByOperator.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.BaseIntUpdateByOperator
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
ConstructorsConstructorDescriptionIntDeltaOperator
(MatchPair matchPair, RedirectionIndex redirectionIndex, DeltaControl control) -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
(BaseIntUpdateByOperator.Context ctx, OrderedKeys inputKeys, Chunk<Attributes.Values> workingChunk, long bucketPosition) Add a chunk of values to the operator.void
resetForReprocess
(UpdateByOperator.UpdateContext context, ReadOnlyIndex sourceIndex, ColumnSource<?> inputSource, long firstUnmodifiedKey) Reset the operator to the state at the `firstModifiedKey` for non-bucketed operation.void
resetForReprocess
(UpdateByOperator.UpdateContext ctx, ReadOnlyIndex bucketIndex, ColumnSource<?> inputSource, long bucketPosition, long firstUnmodifiedKey) Reset the operator to the state at the `firstModifiedKey` for the specified bucket.Methods inherited from class com.illumon.iris.db.v2.updateby.internal.BaseIntUpdateByOperator
addChunk, anyModified, applyOutputShift, applyShift, canProcessNormalUpdate, finishFor, getAdditionalModifications, getAffectingColumnNames, getInputColumnName, getOutputColumnNames, getOutputColumns, initializeFor, initializeForUpdate, makeUpdateContext, modifyChunk, onBucketsRemoved, removeChunk, reprocessChunk, reprocessChunk, requiresKeys, requiresValues, setBucketCapacity, setChunkSize, startTrackingPrev
-
Constructor Details
-
IntDeltaOperator
public IntDeltaOperator(@NotNull MatchPair matchPair, @Nullable RedirectionIndex redirectionIndex, @NotNull DeltaControl control)
-
-
Method Details
-
resetForReprocess
public void resetForReprocess(@NotNull UpdateByOperator.UpdateContext context, @NotNull ReadOnlyIndex sourceIndex, @NotNull ColumnSource<?> inputSource, long firstUnmodifiedKey) Description copied from interface:UpdateByOperator
Reset the operator to the state at the `firstModifiedKey` for non-bucketed operation. This is invoked immediately prior to calls toUpdateByOperator.reprocessChunk(UpdateContext, OrderedKeys, LongChunk, Chunk, ReadOnlyIndex)
.
A `firstUnmodifiedKey` ofReadOnlyIndex.NULL_KEY
indicates that the entire table needs to be recomputed.- Specified by:
resetForReprocess
in interfaceUpdateByOperator
- Overrides:
resetForReprocess
in classBaseIntUpdateByOperator
- Parameters:
context
- the context objectsourceIndex
- the current index of the source tableinputSource
- the most primitive form of the input column sourcefirstUnmodifiedKey
- the first unmodified key after which we will reprocess rows.
-
resetForReprocess
public void resetForReprocess(@NotNull UpdateByOperator.UpdateContext ctx, @NotNull ReadOnlyIndex bucketIndex, @NotNull ColumnSource<?> inputSource, long bucketPosition, long firstUnmodifiedKey) Description copied from interface:UpdateByOperator
Reset the operator to the state at the `firstModifiedKey` for the specified bucket. This is invoked immediately prior to calls toUpdateByOperator.reprocessChunk(UpdateContext, OrderedKeys, Chunk, LongChunk, IntChunk, IntChunk, IntChunk)
.- Specified by:
resetForReprocess
in interfaceUpdateByOperator
- Overrides:
resetForReprocess
in classBaseIntUpdateByOperator
- Parameters:
ctx
- the context objectbucketIndex
- the current index of the specified bucketinputSource
- the most primitive form of the input column sourcefirstUnmodifiedKey
- the first unmodified key in the bucket after which we will reprocess rows.
-
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 BaseIntUpdateByOperator.Context ctx, @NotNull OrderedKeys inputKeys, @NotNull Chunk<Attributes.Values> workingChunk, long bucketPosition) Description copied from class:BaseIntUpdateByOperator
Add a chunk of values to the operator.- Specified by:
doAddChunk
in classBaseIntUpdateByOperator
- Parameters:
ctx
- the context objectinputKeys
- the input keys for the chunkworkingChunk
- the chunk of valuesbucketPosition
- the bucket position that the values belong to.
-