Class LongLastBufferAggregator
java.lang.Object
org.apache.druid.query.aggregation.firstlast.last.NumericLastBufferAggregator
org.apache.druid.query.aggregation.firstlast.last.LongLastBufferAggregator
- All Implemented Interfaces:
BufferAggregator,HotLoopCallee
-
Constructor Summary
ConstructorsConstructorDescriptionLongLastBufferAggregator(BaseLongColumnValueSelector timeSelector, ColumnValueSelector valueSelector, boolean needsFoldCheck) -
Method Summary
Modifier and TypeMethodDescriptionget(ByteBuffer buf, int position) Returns the intermediate object representation of the given aggregate.doublegetDouble(ByteBuffer buf, int position) Returns the double representation of the given aggregate byte array Converts the given byte buffer representation into the intermediate aggregate value.floatgetFloat(ByteBuffer buf, int position) Returns the float representation of the given aggregate byte array Converts the given byte buffer representation into the intermediate aggregate value.longgetLong(ByteBuffer buf, int position) Returns the long representation of the given aggregate byte array Converts the given byte buffer representation into the intermediate aggregate value.Methods inherited from class org.apache.druid.query.aggregation.firstlast.last.NumericLastBufferAggregator
aggregate, close, init, inspectRuntimeShapeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.druid.query.aggregation.BufferAggregator
isNull, relocate
-
Constructor Details
-
LongLastBufferAggregator
public LongLastBufferAggregator(BaseLongColumnValueSelector timeSelector, ColumnValueSelector valueSelector, boolean needsFoldCheck)
-
-
Method Details
-
get
Description copied from interface:BufferAggregatorReturns the intermediate object representation of the given aggregate. Converts the given byte buffer representation into an intermediate aggregate Object Implementations must not change the position, limit or mark of the given buffer. The object returned must not have any references to the given buffer (i.e., make a copy), since the underlying buffer is a shared resource and may be given to another processing thread while the objects returned by this aggregator are still in use. If the correspondingAggregatorFactory.combine(Object, Object)method for this aggregator expects its inputs to be mutable, then the object returned by this method must be mutable.- Parameters:
buf- byte buffer storing the byte array representation of the aggregateposition- offset within the byte buffer at which the aggregate value is stored- Returns:
- the Object representation of the aggregate
-
getFloat
Description copied from interface:BufferAggregatorReturns the float representation of the given aggregate byte array Converts the given byte buffer representation into the intermediate aggregate value. Implementations must not change the position, limit or mark of the given buffer Implementations are only required to support this method if they are aggregations which have anAggregatorFactory.getIntermediateType()()} ofValueType.FLOAT. If unimplemented, throwing anUnsupportedOperationExceptionis common and recommended.- Parameters:
buf- byte buffer storing the byte array representation of the aggregateposition- offset within the byte buffer at which the aggregate value is stored- Returns:
- the float representation of the aggregate
-
getDouble
Description copied from interface:BufferAggregatorReturns the double representation of the given aggregate byte array Converts the given byte buffer representation into the intermediate aggregate value. Implementations must not change the position, limit or mark of the given buffer Implementations are only required to support this method if they are aggregations which have anAggregatorFactory.getIntermediateType()of ofValueType.DOUBLE. If unimplemented, throwing anUnsupportedOperationExceptionis common and recommended. The default implementation castsBufferAggregator.getFloat(ByteBuffer, int)to double. This default method is added to enable smooth backward compatibility, please re-implement it if your aggregators work with numeric double columns.- Parameters:
buf- byte buffer storing the byte array representation of the aggregateposition- offset within the byte buffer at which the aggregate value is stored- Returns:
- the double representation of the aggregate
-
getLong
Description copied from interface:BufferAggregatorReturns the long representation of the given aggregate byte array Converts the given byte buffer representation into the intermediate aggregate value. Implementations must not change the position, limit or mark of the given buffer Implementations are only required to support this method if they are aggregations which have anAggregatorFactory.getIntermediateType()of ofValueType.LONG. If unimplemented, throwing anUnsupportedOperationExceptionis common and recommended.- Parameters:
buf- byte buffer storing the byte array representation of the aggregateposition- offset within the byte buffer at which the aggregate value is stored- Returns:
- the long representation of the aggregate
-