Class NilVectorAggregator
- java.lang.Object
-
- org.apache.druid.query.aggregation.any.NilVectorAggregator
-
- All Implemented Interfaces:
VectorAggregator
public class NilVectorAggregator extends Object implements VectorAggregator
A vector aggregator that returns the default numeric value.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaggregate(ByteBuffer buf, int numRows, int[] positions, int[] rows, int positionOffset)Aggregate a list of rows ("rows") into a list of aggregation slots ("positions").voidaggregate(ByteBuffer buf, int position, int startRow, int endRow)Aggregate a range of rows into a single aggregation slot.voidclose()Release any resources used by the aggregator.static NilVectorAggregatordoubleNilVectorAggregator()static NilVectorAggregatorfloatNilVectorAggregator()Objectget(ByteBuffer buf, int position)voidinit(ByteBuffer buf, int position)static NilVectorAggregatorlongNilVectorAggregator()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.query.aggregation.VectorAggregator
relocate
-
-
-
-
Method Detail
-
doubleNilVectorAggregator
public static NilVectorAggregator doubleNilVectorAggregator()
- Returns:
- A vectorized aggregator that returns the default double value.
-
floatNilVectorAggregator
public static NilVectorAggregator floatNilVectorAggregator()
- Returns:
- A vectorized aggregator that returns the default float value.
-
longNilVectorAggregator
public static NilVectorAggregator longNilVectorAggregator()
- Returns:
- A vectorized aggregator that returns the default long value.
-
init
public void init(ByteBuffer buf, int position)
Description copied from interface:VectorAggregator- Specified by:
initin interfaceVectorAggregator
-
aggregate
public void aggregate(ByteBuffer buf, int position, int startRow, int endRow)
Description copied from interface:VectorAggregatorAggregate a range of rows into a single aggregation slot. Implementations must not change the position, limit or mark of the given buffer- Specified by:
aggregatein interfaceVectorAggregator- Parameters:
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)
-
aggregate
public void aggregate(ByteBuffer buf, int numRows, int[] positions, @Nullable int[] rows, int positionOffset)
Description copied from interface:VectorAggregatorAggregate a list of rows ("rows") into a list of aggregation slots ("positions"). Implementations must not change the position, limit or mark of the given buffer- Specified by:
aggregatein interfaceVectorAggregator- Parameters:
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"
-
get
@Nullable public Object get(ByteBuffer buf, int position)
Description copied from interface:VectorAggregator- Specified by:
getin interfaceVectorAggregator
-
close
public void close()
Description copied from interface:VectorAggregatorRelease any resources used by the aggregator. The aggregator may be reused after this call, by callingVectorAggregator.init(ByteBuffer, int)followed by other methods as normal. This call would be more properly named "reset", but we use the name "close" to improve compatibility with existing aggregator implementations in extensions.- Specified by:
closein interfaceVectorAggregator
-
-