Class LongRecordingUpdateByOperator
java.lang.Object
com.illumon.iris.db.v2.updateby.internal.AbstractStaticUpdateByOperator
com.illumon.iris.db.v2.updateby.internal.LongRecordingUpdateByOperator
- All Implemented Interfaces:
ChunkedUpdateByOperator
public class LongRecordingUpdateByOperator extends AbstractStaticUpdateByOperator
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.updateby.ChunkedUpdateByOperator
ChunkedUpdateByOperator.BucketedUpdateContext, ChunkedUpdateByOperator.UpdateContext
-
Field Summary
Fields inherited from interface com.illumon.iris.db.v2.updateby.ChunkedUpdateByOperator
ZERO_LENGTH_OP_ARRAY
-
Constructor Summary
Constructors Constructor Description LongRecordingUpdateByOperator(String inputColumn)
-
Method Summary
Modifier and Type Method Description void
addChunk(ChunkedUpdateByOperator.BucketedUpdateContext context, Chunk<Attributes.Values> values, LongChunk<? extends Attributes.KeyIndices> keyChunk, IntChunk<Attributes.KeyIndices> bucketPositions, IntChunk<Attributes.ChunkPositions> startPositions, IntChunk<Attributes.ChunkLengths> length)
Add a chunk of bucketed items to the operation.void
addChunk(ChunkedUpdateByOperator.UpdateContext updateContext, LongChunk<Attributes.OrderedKeyIndices> keyChunk, Chunk<Attributes.Values> workingChunk, long groupPosition)
Add a chunk of non-bucketed items to the operation.String
getInputColumnName()
Get the name of the input column this operator depends on.long
getLong(int chunkPosition)
String[]
getOutputColumnNames()
Get an array of the output column names.Map<String,ColumnSource<?>>
getOutputColumns()
Get a map of outputName to outputColumnSource
for this operation.ChunkedUpdateByOperator.BucketedUpdateContext
makeBucketedContext(int chunkSize)
Make anChunkedUpdateByOperator.UpdateContext
suitable for use with bucketed updates.ChunkedUpdateByOperator.UpdateContext
makeUpdateContext(int chunkSize)
Make anChunkedUpdateByOperator.UpdateContext
suitable for use with non-bucketed updates.Methods inherited from class com.illumon.iris.db.v2.updateby.internal.AbstractStaticUpdateByOperator
anyModified, anyModified, applyShift, finishFor, finishFor, getAdditionalModifications, initializeFor, initializeFor, modifyChunk, removeChunk, setBucketCapacity, setUpstream, setUpstream, startTrackingPrev
-
Constructor Details
-
Method Details
-
getLong
public long getLong(int chunkPosition) -
getInputColumnName
Description copied from interface:ChunkedUpdateByOperator
Get the name of the input column this operator depends on.- Returns:
- the name of the input column
-
getOutputColumnNames
Description copied from interface:ChunkedUpdateByOperator
Get an array of the output column names.- Returns:
- the output column names.
-
getOutputColumns
Description copied from interface:ChunkedUpdateByOperator
Get a map of outputName to outputColumnSource
for this operation.- Returns:
- a map of output column name to output column source
-
makeUpdateContext
Description copied from interface:ChunkedUpdateByOperator
Make anChunkedUpdateByOperator.UpdateContext
suitable for use with non-bucketed updates.- Parameters:
chunkSize
- The expected size of chunks that will be provided during the update,- Returns:
- a new updateContext
-
makeBucketedContext
Description copied from interface:ChunkedUpdateByOperator
Make anChunkedUpdateByOperator.UpdateContext
suitable for use with bucketed updates.- Parameters:
chunkSize
- The expected size of chunks that will be provided during the update,- Returns:
- a new updateContext
-
addChunk
public void addChunk(@NotNull ChunkedUpdateByOperator.UpdateContext updateContext, @NotNull LongChunk<Attributes.OrderedKeyIndices> keyChunk, @NotNull Chunk<Attributes.Values> workingChunk, long groupPosition)Description copied from interface:ChunkedUpdateByOperator
Add a chunk of non-bucketed items to the operation.- Parameters:
updateContext
- the context objectkeyChunk
- a chunk of keys for the rows being addedworkingChunk
- the chunk of values for the rows being addedgroupPosition
- the group position
-
addChunk
public void addChunk(@NotNull ChunkedUpdateByOperator.BucketedUpdateContext 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> length)Description copied from interface:ChunkedUpdateByOperator
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 chunklength
- the length of each run of bucket values
-