Class BlockSplitter
java.lang.Object
com.illumon.iris.db.v2.sources.chunk.kernels.BlockSplitter
public class BlockSplitter extends Object
Identifies the target hash block positions for a chunk of chunks in a target
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classBlockSplitter.Context -
Constructor Summary
Constructors Constructor Description BlockSplitter() -
Method Summary
Modifier and Type Method Description BlockSplitter.ContextgetContext(int resultChunkSize, int logBlockCount, ReentrantNugget nugget)intsplit(BlockSplitter.Context context, WritableIntChunkChunk targetPositions, IntChunkChunk hashChunks, int inputChunksLogSize)Identifies the target hash block positions for a chunk of chunks in a target
-
Constructor Details
-
BlockSplitter
public BlockSplitter()
-
-
Method Details
-
getContext
public BlockSplitter.Context getContext(int resultChunkSize, int logBlockCount, ReentrantNugget nugget) -
split
public int split(BlockSplitter.Context context, WritableIntChunkChunk targetPositions, IntChunkChunk hashChunks, int inputChunksLogSize)Identifies the target hash block positions for a chunk of chunks in a target- Parameters:
context- The context kept for this operationtargetPositions- A chunk of chunks where the chunk at position `k` contains the positions of the elements in the intermediary chunks to be inserted in the final block `k`hashChunks- The hash values for the intermediary chunks to be insertedinputChunksLogSize-- Returns:
- The position of the targetPosition chunk that is full or -1 is all the keys were scanned and none of the targetPositions are full. Once -1 is returned, it is expected that all chunks in targetPosition have the size properly set.
-