Class NullableDoubleGroupByVectorColumnSelector
- java.lang.Object
-
- org.apache.druid.query.groupby.epinephelinae.vector.NullableDoubleGroupByVectorColumnSelector
-
- All Implemented Interfaces:
GroupByVectorColumnSelector
public class NullableDoubleGroupByVectorColumnSelector extends Object implements GroupByVectorColumnSelector
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getGroupingKeySize()
Get the size in bytes of the key parts generated by this column.void
reset()
Reset any internal state held by this selector.int
writeKeys(org.apache.datasketches.memory.WritableMemory keySpace, int keySize, int keyOffset, int startRow, int endRow)
Write key parts for this column, from startRow (inclusive) to endRow (exclusive), into keySpace starting at keyOffset.void
writeKeyToResultRow(MemoryPointer keyMemory, int keyOffset, ResultRow resultRow, int resultRowPosition)
Write key parts for this column into a particular result row.
-
-
-
Method Detail
-
getGroupingKeySize
public int getGroupingKeySize()
Description copied from interface:GroupByVectorColumnSelector
Get the size in bytes of the key parts generated by this column.- Specified by:
getGroupingKeySize
in interfaceGroupByVectorColumnSelector
-
writeKeys
public int writeKeys(org.apache.datasketches.memory.WritableMemory keySpace, int keySize, int keyOffset, int startRow, int endRow)
Description copied from interface:GroupByVectorColumnSelector
Write key parts for this column, from startRow (inclusive) to endRow (exclusive), into keySpace starting at keyOffset.- Specified by:
writeKeys
in interfaceGroupByVectorColumnSelector
- Parameters:
keySpace
- key memorykeySize
- size of the overall key (not just the part for this column)keyOffset
- starting position for the first key part within keySpacestartRow
- starting row (inclusive) within the current vectorendRow
- ending row (exclusive) within the current vector- Returns:
- estimated increase in internal state footprint, in bytes, as a result of this operation. May be zero if memory did not increase as a result of this operation. Will not be negative.
-
writeKeyToResultRow
public void writeKeyToResultRow(MemoryPointer keyMemory, int keyOffset, ResultRow resultRow, int resultRowPosition)
Description copied from interface:GroupByVectorColumnSelector
Write key parts for this column into a particular result row.- Specified by:
writeKeyToResultRow
in interfaceGroupByVectorColumnSelector
- Parameters:
keyMemory
- key memorykeyOffset
- starting position for this key part within keyMemory (starting fromMemoryPointer.position
)resultRow
- result row to receive key partsresultRowPosition
- position within the result row for this key part
-
reset
public void reset()
Description copied from interface:GroupByVectorColumnSelector
Reset any internal state held by this selector. After this method is called, any memory previously written byGroupByVectorColumnSelector.writeKeys(org.apache.datasketches.memory.WritableMemory, int, int, int, int)
must be considered unreadable. CallingGroupByVectorColumnSelector.writeKeyToResultRow(org.apache.druid.query.groupby.epinephelinae.collection.MemoryPointer, int, org.apache.druid.query.groupby.ResultRow, int)
on that memory has undefined behavior.- Specified by:
reset
in interfaceGroupByVectorColumnSelector
-
-