public class DictionaryBuildingStringGroupByColumnSelectorStrategy extends StringGroupByColumnSelectorStrategy
| Constructor and Description |
|---|
DictionaryBuildingStringGroupByColumnSelectorStrategy() |
| Modifier and Type | Method and Description |
|---|---|
Grouper.BufferComparator |
bufferComparator(int keyBufferPosition,
StringComparator stringComparator)
Return BufferComparator for values written using this strategy when limit is pushed down to segment scan.
|
int |
initColumnValues(ColumnValueSelector selector,
int columnIndex,
Object[] valuess)
Retrieve a row object from the
ColumnValueSelector and put it in valuess at columnIndex. |
void |
processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus,
ByteBuffer key,
ResultRow resultRow,
int keyBufferPosition)
Read a value from a grouping key and add it to the group by query result row, using the output name specified
in a DimensionSpec.
|
void |
reset()
Reset any internal state held by this selector.
|
int |
writeToKeyBuffer(int keyBufferPosition,
ColumnValueSelector selector,
ByteBuffer keyBuffer)
Write a single object from the given selector to the keyBuffer at keyBufferPosition.
|
checkRowIndexAndAddValueToGroupingKey, getGroupingKeySize, initGroupingKeyColumnValue, writeToKeyBufferpublic DictionaryBuildingStringGroupByColumnSelectorStrategy()
public void processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus, ByteBuffer key, ResultRow resultRow, int keyBufferPosition)
GroupByColumnSelectorStrategyprocessValueFromGroupingKey in interface GroupByColumnSelectorStrategyprocessValueFromGroupingKey in class StringGroupByColumnSelectorStrategyselectorPlus - dimension info containing the key offset, value selector, and dimension speckey - grouping keyresultRow - result row for the group by query being servedkeyBufferPosition - buffer position for the grouping key, added to support chaining multiple ColumnSelectorStrategypublic int initColumnValues(ColumnValueSelector selector, int columnIndex, Object[] valuess)
GroupByColumnSelectorStrategyColumnValueSelector and put it in valuess at columnIndex.initColumnValues in interface GroupByColumnSelectorStrategyinitColumnValues in class StringGroupByColumnSelectorStrategyselector - Value selector for a column.columnIndex - Index of the column within the row values arrayvaluess - Row values array, one index per columnpublic int writeToKeyBuffer(int keyBufferPosition,
ColumnValueSelector selector,
ByteBuffer keyBuffer)
GroupByColumnSelectorStrategywriteToKeyBuffer in interface GroupByColumnSelectorStrategywriteToKeyBuffer in class StringGroupByColumnSelectorStrategykeyBufferPosition - starting offset for this column's value within the grouping keyselector - selector to retrieve row value object fromkeyBuffer - grouping keypublic Grouper.BufferComparator bufferComparator(int keyBufferPosition, @Nullable StringComparator stringComparator)
GroupByColumnSelectorStrategybufferComparator in interface GroupByColumnSelectorStrategybufferComparator in class StringGroupByColumnSelectorStrategykeyBufferPosition - starting offset for this column's value within the grouping keystringComparator - stringComparator from LimitSpec for this column. If this is null, implementations
will use the StringComparators.LEXICOGRAPHIC
comparator.public void reset()
GroupByColumnSelectorStrategyGroupByColumnSelectorStrategy.processValueFromGroupingKey(org.apache.druid.query.groupby.epinephelinae.column.GroupByColumnSelectorPlus, java.nio.ByteBuffer, org.apache.druid.query.groupby.ResultRow, int) on that memory has undefined behavior.reset in interface GroupByColumnSelectorStrategyreset in class StringGroupByColumnSelectorStrategyCopyright © 2011–2022 The Apache Software Foundation. All rights reserved.