Package io.trino.operator.join.unspilled
Class PartitionedLookupSource
java.lang.Object
io.trino.operator.join.unspilled.PartitionedLookupSource
- All Implemented Interfaces:
LookupSource,Closeable,AutoCloseable
Like
PartitionedLookupSource but simplified,
without spill support.-
Method Summary
Modifier and TypeMethodDescriptionvoidappendTo(long partitionedJoinPosition, PageBuilder pageBuilder, int outputChannelOffset) voidclose()static TrackingLookupSourceSuppliercreatePartitionedLookupSourceSupplier(List<Supplier<LookupSource>> partitions, List<Type> hashChannelTypes, boolean outer, TypeOperators typeOperators) longvoidgetJoinPosition(int[] positions, Page hashChannelsPage, Page allChannelsPage, long[] result) The `result` array is global to the entire processed page, while the `positions` array may hold any number of selected positions from this pagevoidgetJoinPosition(int[] positions, Page hashChannelsPage, Page allChannelsPage, long[] rawHashes, long[] result) 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 pagelonggetJoinPosition(int position, Page hashChannelsPage, Page allChannelsPage) longgetJoinPosition(int position, Page hashChannelsPage, Page allChannelsPage, long rawHash) longlonggetNextJoinPosition(long currentJoinPosition, int probePosition, Page allProbeChannelsPage) booleanisEmpty()booleanisJoinPositionEligible(long currentJoinPosition, int probePosition, Page allProbeChannelsPage) longjoinPositionWithinPartition(long joinPosition)
-
Method Details
-
createPartitionedLookupSourceSupplier
public static TrackingLookupSourceSupplier createPartitionedLookupSourceSupplier(List<Supplier<LookupSource>> partitions, List<Type> hashChannelTypes, boolean outer, TypeOperators typeOperators) -
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceLookupSource
-
getJoinPositionCount
public long getJoinPositionCount()- Specified by:
getJoinPositionCountin interfaceLookupSource
-
getInMemorySizeInBytes
public long getInMemorySizeInBytes()- Specified by:
getInMemorySizeInBytesin interfaceLookupSource
-
getJoinPosition
- Specified by:
getJoinPositionin interfaceLookupSource
-
getJoinPosition
public long getJoinPosition(int position, Page hashChannelsPage, Page allChannelsPage, long rawHash) - Specified by:
getJoinPositionin interfaceLookupSource
-
getJoinPosition
public void getJoinPosition(int[] positions, Page hashChannelsPage, Page allChannelsPage, long[] rawHashes, long[] result) Description copied from interface:LookupSourceThe `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:
getJoinPositionin interfaceLookupSource
-
getJoinPosition
public void getJoinPosition(int[] positions, Page hashChannelsPage, Page allChannelsPage, long[] result) Description copied from interface:LookupSourceThe `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:
getJoinPositionin interfaceLookupSource
-
getNextJoinPosition
public long getNextJoinPosition(long currentJoinPosition, int probePosition, Page allProbeChannelsPage) - Specified by:
getNextJoinPositionin interfaceLookupSource
-
isJoinPositionEligible
public boolean isJoinPositionEligible(long currentJoinPosition, int probePosition, Page allProbeChannelsPage) - Specified by:
isJoinPositionEligiblein interfaceLookupSource
-
appendTo
public void appendTo(long partitionedJoinPosition, PageBuilder pageBuilder, int outputChannelOffset) - Specified by:
appendToin interfaceLookupSource
-
joinPositionWithinPartition
public long joinPositionWithinPartition(long joinPosition) - Specified by:
joinPositionWithinPartitionin interfaceLookupSource
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceLookupSource
-