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 voidaddChunk(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.voidaddChunk(ChunkedUpdateByOperator.UpdateContext updateContext, LongChunk<Attributes.OrderedKeyIndices> keyChunk, Chunk<Attributes.Values> workingChunk, long groupPosition)Add a chunk of non-bucketed items to the operation.StringgetInputColumnName()Get the name of the input column this operator depends on.longgetLong(int chunkPosition)String[]getOutputColumnNames()Get an array of the output column names.Map<String,ColumnSource<?>>getOutputColumns()Get a map of outputName to outputColumnSourcefor this operation.ChunkedUpdateByOperator.BucketedUpdateContextmakeBucketedContext(int chunkSize)Make anChunkedUpdateByOperator.UpdateContextsuitable for use with bucketed updates.ChunkedUpdateByOperator.UpdateContextmakeUpdateContext(int chunkSize)Make anChunkedUpdateByOperator.UpdateContextsuitable 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:ChunkedUpdateByOperatorGet the name of the input column this operator depends on.- Returns:
- the name of the input column
-
getOutputColumnNames
Description copied from interface:ChunkedUpdateByOperatorGet an array of the output column names.- Returns:
- the output column names.
-
getOutputColumns
Description copied from interface:ChunkedUpdateByOperatorGet a map of outputName to outputColumnSourcefor this operation.- Returns:
- a map of output column name to output column source
-
makeUpdateContext
Description copied from interface:ChunkedUpdateByOperatorMake anChunkedUpdateByOperator.UpdateContextsuitable 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:ChunkedUpdateByOperatorMake anChunkedUpdateByOperator.UpdateContextsuitable 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:ChunkedUpdateByOperatorAdd 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:ChunkedUpdateByOperatorAdd 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
-