Package io.trino.operator
Interface GroupByHash
- All Known Implementing Classes:
BigintGroupByHash,MultiChannelGroupByHash,NoChannelGroupByHash
public interface GroupByHash
-
Method Summary
Modifier and TypeMethodDescriptionWork<?>voidappendValuesTo(int groupId, PageBuilder pageBuilder) booleandefault booleanstatic GroupByHashcreateGroupByHash(Session session, List<? extends Type> hashTypes, int[] hashChannels, Optional<Integer> inputHashChannel, int expectedSize, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory) static GroupByHashcreateGroupByHash(List<? extends Type> hashTypes, int[] hashChannels, Optional<Integer> inputHashChannel, int expectedSize, boolean processDictionary, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory) intlongintgetGroupIds(Page page) The order of new group ids need to be the same as the order of incoming rows, i.e.longgetRawHash(int groupyId) getTypes()
-
Method Details
-
createGroupByHash
static GroupByHash createGroupByHash(Session session, List<? extends Type> hashTypes, int[] hashChannels, Optional<Integer> inputHashChannel, int expectedSize, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory) -
createGroupByHash
static GroupByHash createGroupByHash(List<? extends Type> hashTypes, int[] hashChannels, Optional<Integer> inputHashChannel, int expectedSize, boolean processDictionary, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory) -
getEstimatedSize
long getEstimatedSize() -
getTypes
-
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 -
contains
-
contains
-
getRawHash
long getRawHash(int groupyId) -
getCapacity
int getCapacity()
-