Package io.trino.operator.unnest
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 Summary
Modifier and TypeMethodDescriptionBlock[]buildOutputBlocks(int[] outputEntriesPerPosition, int startPosition, int batchSize, int outputRowCount) Build the output blocks for the current batch for this unnester.intint[]Return a vector with the number of entries for each position of the block to be unnested.longvoidresetInput(Block block)
-
Method Details
-
getChannelCount
int getChannelCount() -
resetInput
-
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()
-