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) 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 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()
-