public interface VectorAggregator
CalledFromHotLoop because vectorized query engines do not use
monomorphic-processing-style specialization.
Unlike Aggregator, VectorAggregators are never used by multiple threads at once. Implementations are not
required to be thread safe.BufferAggregator, the vectorized version.| Modifier and Type | Method and Description |
|---|---|
void |
aggregate(ByteBuffer buf,
int numRows,
int[] positions,
int[] rows,
int positionOffset)
Aggregate a list of rows ("rows") into a list of aggregation slots ("positions").
|
void |
aggregate(ByteBuffer buf,
int position,
int startRow,
int endRow)
Aggregate a range of rows into a single aggregation slot.
|
void |
close()
Release any resources used by the aggregator.
|
Object |
get(ByteBuffer buf,
int position)
|
void |
init(ByteBuffer buf,
int position)
|
default void |
relocate(int oldPosition,
int newPosition,
ByteBuffer oldBuffer,
ByteBuffer newBuffer)
|
void init(ByteBuffer buf, int position)
void aggregate(ByteBuffer buf, int position, int startRow, int endRow)
buf - byte buffer storing the byte array representation of the aggregateposition - offset within the byte buffer at which the current aggregate value is storedstartRow - first row of the range within the current batch to aggregate (inclusive)endRow - end row of the range (exclusive)void aggregate(ByteBuffer buf, int numRows, int[] positions, @Nullable int[] rows, int positionOffset)
buf - byte buffer storing the byte array representation of the aggregatenumRows - number of rows to aggregatepositions - array of aggregate value positions within the buffer; must be at least as long as "numRows"rows - array of row numbers within the current row batch; must be at least as long as "numRows". If
null, the aggregator will aggregate rows from 0 (inclusive) to numRows (exclusive).positionOffset - an offset to apply to each value from "positions"@Nullable Object get(ByteBuffer buf, int position)
default void relocate(int oldPosition,
int newPosition,
ByteBuffer oldBuffer,
ByteBuffer newBuffer)
void close()
Copyright © 2011–2023 The Apache Software Foundation. All rights reserved.