Class DictionaryBuildingGroupByColumnSelectorStrategy<DimensionType>

java.lang.Object
org.apache.druid.query.groupby.epinephelinae.column.DictionaryBuildingGroupByColumnSelectorStrategy<DimensionType>
All Implemented Interfaces:
ColumnSelectorStrategy, GroupByColumnSelectorStrategy

@NotThreadSafe public class DictionaryBuildingGroupByColumnSelectorStrategy<DimensionType> extends Object
Strategy for grouping dimensions which can have variable-width objects, and aren't backed by prebuilt dictionaries. It encapsulates the dictionary building logic, along with providing the implementations for dimension to dictionary id encoding-decoding.

This strategy can handle any dimension that can be addressed on a reverse-dictionary. Reverse dictionary uses a sorted map, rather than a hashmap.

This is the most expensive of all the strategies, and hence must be used only when other strategies aren't valid.