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
  • Constructor Details

  • 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 operation
      targetPositions - 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 inserted
      inputChunksLogSize -
      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.