Class BooleanFillByOperator
java.lang.Object
com.illumon.iris.db.v2.updateby.internal.BaseByteUpdateByOperator
com.illumon.iris.db.v2.updateby.fill.BooleanFillByOperator
- All Implemented Interfaces:
UpdateByOperator
public class BooleanFillByOperator extends BaseByteUpdateByOperator
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.updateby.internal.BaseByteUpdateByOperator
BaseByteUpdateByOperator.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.BaseByteUpdateByOperator
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
Constructors Constructor Description BooleanFillByOperator(MatchPair fillPair, RedirectionIndex redirectionIndex)
-
Method Summary
Modifier and Type Method Description 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.void
applyOutputShift(UpdateByOperator.UpdateContext context, ReadOnlyIndex subIndexToShift, long delta)
Apply a shift to the operation.protected void
doAddChunk(BaseByteUpdateByOperator.Context ctx, OrderedKeys inputKeys, Chunk<Attributes.Values> workingChunk, long bucketPosition)
Add a chunk of values to the operator.protected byte
getNullValue()
Map<String,ColumnSource<?>>
getOutputColumns()
Get a map of outputName to outputColumnSource
for this operation.protected WritableSource<Byte>
makeDenseSource()
protected WritableSource<Byte>
makeSparseSource()
Methods inherited from class com.illumon.iris.db.v2.updateby.internal.BaseByteUpdateByOperator
addChunk, anyModified, applyShift, canProcessNormalUpdate, finishFor, getAdditionalModifications, getAffectingColumnNames, getInputColumnName, getOutputColumnNames, initializeFor, initializeForUpdate, makeUpdateContext, modifyChunk, onBucketsRemoved, removeChunk, reprocessChunk, reprocessChunk, requiresKeys, requiresValues, resetForReprocess, resetForReprocess, setBucketCapacity, setChunkSize, startTrackingPrev
-
Constructor Details
-
BooleanFillByOperator
public BooleanFillByOperator(@NotNull MatchPair fillPair, @Nullable RedirectionIndex redirectionIndex)
-
-
Method Details
-
getNullValue
protected byte getNullValue()- Overrides:
getNullValue
in classBaseByteUpdateByOperator
-
makeSparseSource
- Overrides:
makeSparseSource
in classBaseByteUpdateByOperator
-
makeDenseSource
- Overrides:
makeDenseSource
in classBaseByteUpdateByOperator
-
getOutputColumns
Description copied from interface:UpdateByOperator
Get a map of outputName to outputColumnSource
for this operation.- Specified by:
getOutputColumns
in interfaceUpdateByOperator
- Overrides:
getOutputColumns
in classBaseByteUpdateByOperator
- Returns:
- a map of output column name to output column source
-
applyOutputShift
public void applyOutputShift(@NotNull UpdateByOperator.UpdateContext context, @NotNull ReadOnlyIndex subIndexToShift, long delta)Description copied from interface:UpdateByOperator
Apply a shift to the operation.- Specified by:
applyOutputShift
in interfaceUpdateByOperator
- Overrides:
applyOutputShift
in classBaseByteUpdateByOperator
- Parameters:
context
- the context object
-
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 BaseByteUpdateByOperator.Context ctx, @NotNull OrderedKeys inputKeys, @NotNull Chunk<Attributes.Values> workingChunk, long bucketPosition)Description copied from class:BaseByteUpdateByOperator
Add a chunk of values to the operator.- Specified by:
doAddChunk
in classBaseByteUpdateByOperator
- Parameters:
ctx
- the context objectinputKeys
- the input keys for the chunkworkingChunk
- the chunk of valuesbucketPosition
- the bucket position that the values belong to.
-