Class PartitionedLookupSource

java.lang.Object
io.trino.operator.join.unspilled.PartitionedLookupSource
All Implemented Interfaces:
LookupSource, Closeable, AutoCloseable

@NotThreadSafe public class PartitionedLookupSource extends Object implements LookupSource
Like PartitionedLookupSource but simplified, without spill support.
  • Method Details

    • createPartitionedLookupSourceSupplier

      public static TrackingLookupSourceSupplier createPartitionedLookupSourceSupplier(List<Supplier<LookupSource>> partitions, List<Type> hashChannelTypes, boolean outer, TypeOperators typeOperators)
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface LookupSource
    • getJoinPositionCount

      public long getJoinPositionCount()
      Specified by:
      getJoinPositionCount in interface LookupSource
    • getInMemorySizeInBytes

      public long getInMemorySizeInBytes()
      Specified by:
      getInMemorySizeInBytes in interface LookupSource
    • getJoinPosition

      public long getJoinPosition(int position, Page hashChannelsPage, Page allChannelsPage)
      Specified by:
      getJoinPosition in interface LookupSource
    • getJoinPosition

      public long getJoinPosition(int position, Page hashChannelsPage, Page allChannelsPage, long rawHash)
      Specified by:
      getJoinPosition in interface LookupSource
    • getJoinPosition

      public void getJoinPosition(int[] positions, Page hashChannelsPage, Page allChannelsPage, long[] rawHashes, long[] result)
      Description copied from interface: LookupSource
      The `rawHashes` and `result` arrays are global to the entire processed page (thus, the same size), while the `positions` array may hold any number of selected positions from this page
      Specified by:
      getJoinPosition in interface LookupSource
    • getJoinPosition

      public void getJoinPosition(int[] positions, Page hashChannelsPage, Page allChannelsPage, long[] result)
      Description copied from interface: LookupSource
      The `result` array is global to the entire processed page, while the `positions` array may hold any number of selected positions from this page
      Specified by:
      getJoinPosition in interface LookupSource
    • getNextJoinPosition

      public long getNextJoinPosition(long currentJoinPosition, int probePosition, Page allProbeChannelsPage)
      Specified by:
      getNextJoinPosition in interface LookupSource
    • isJoinPositionEligible

      public boolean isJoinPositionEligible(long currentJoinPosition, int probePosition, Page allProbeChannelsPage)
      Specified by:
      isJoinPositionEligible in interface LookupSource
    • appendTo

      public void appendTo(long partitionedJoinPosition, PageBuilder pageBuilder, int outputChannelOffset)
      Specified by:
      appendTo in interface LookupSource
    • joinPositionWithinPartition

      public long joinPositionWithinPartition(long joinPosition)
      Specified by:
      joinPositionWithinPartition in interface LookupSource
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface LookupSource