Interface GroupByHash

All Known Implementing Classes:
BigintGroupByHash, MultiChannelGroupByHash, NoChannelGroupByHash

public interface GroupByHash
  • 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

      List<Type> getTypes()
    • getGroupCount

      int getGroupCount()
    • appendValuesTo

      void appendValuesTo(int groupId, PageBuilder pageBuilder)
    • addPage

      Work<?> addPage(Page page)
    • getGroupIds

      Work<GroupByIdBlock> getGroupIds(Page page)
      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

      boolean contains(int position, Page page, int[] hashChannels)
    • contains

      default boolean contains(int position, Page page, int[] hashChannels, long rawHash)
    • getRawHash

      long getRawHash(int groupyId)
    • getCapacity

      int getCapacity()