Interface Unnester

All Known Implementing Classes:
ArrayOfRowsUnnester, ArrayUnnester, MapUnnester

public interface Unnester
This is a layer of abstraction between UnnestOperator and UnnestBlockBuilder to enable translation of indices from input nested blocks to underlying element blocks.
  • Method Details

    • getChannelCount

      int getChannelCount()
    • resetInput

      void resetInput(Block block)
    • getOutputEntriesPerPosition

      int[] getOutputEntriesPerPosition()
      Return a vector with the number of entries for each position of the block to be unnested.
    • buildOutputBlocks

      Block[] buildOutputBlocks(int[] outputEntriesPerPosition, int startPosition, int batchSize, int outputRowCount)
      Build the output blocks for the current batch for this unnester.
      Parameters:
      outputEntriesPerPosition - A vector that holds the max unnested row count for each position of all blocks to be unnested.
      startPosition - The start input position of this batch.
      batchSize - The number of input rows to be processed in this batch.
      outputRowCount - The total output row count for this batch after the unnest is done.
    • getRetainedSizeInBytes

      long getRetainedSizeInBytes()