Package io.trino.operator
Interface GroupByHash
- All Known Implementing Classes:
BigintGroupByHash,FlatGroupByHash,NoChannelGroupByHash
-
Method Summary
Modifier and TypeMethodDescriptionWork<?> voidappendValuesTo(int groupId, PageBuilder pageBuilder) static GroupByHashcreateGroupByHash(Session session, List<Type> types, boolean hasPrecomputedHash, int expectedSize, FlatHashStrategyCompiler hashStrategyCompiler, UpdateMemory updateMemory) static GroupByHashcreateGroupByHash(List<Type> types, boolean hasPrecomputedHash, int expectedSize, boolean dictionaryAggregationEnabled, FlatHashStrategyCompiler hashStrategyCompiler, UpdateMemory updateMemory) intlongintWork<int[]> getGroupIds(Page page) The order of new group ids need to be the same as the order of incoming rows, i.e.longgetRawHash(int groupId)
-
Method Details
-
createGroupByHash
static GroupByHash createGroupByHash(Session session, List<Type> types, boolean hasPrecomputedHash, int expectedSize, FlatHashStrategyCompiler hashStrategyCompiler, UpdateMemory updateMemory) -
createGroupByHash
static GroupByHash createGroupByHash(List<Type> types, boolean hasPrecomputedHash, int expectedSize, boolean dictionaryAggregationEnabled, FlatHashStrategyCompiler hashStrategyCompiler, UpdateMemory updateMemory) -
getEstimatedSize
long getEstimatedSize() -
getGroupCount
int getGroupCount() -
appendValuesTo
-
addPage
-
getGroupIds
The order of new group ids need to be the same as the order of incoming rows, i.e. new group ids should be assigned in rows iteration order Example: rows: A B C B D A E group ids: 1 2 3 2 4 1 5 -
getRawHash
long getRawHash(int groupId) -
getCapacity
int getCapacity()
-