Package io.trino.operator.join
Class JoinHash
java.lang.Object
io.trino.operator.join.JoinHash
- All Implemented Interfaces:
LookupSource,Closeable,AutoCloseable
-
Constructor Summary
ConstructorsConstructorDescriptionJoinHash(PagesHash pagesHash, Optional<JoinFilterFunction> filterFunction, Optional<PositionLinks> positionLinks, long pageInstancesRetainedSizeInBytes) -
Method Summary
Modifier and TypeMethodDescriptionvoidappendTo(long position, PageBuilder pageBuilder, int outputChannelOffset) voidclose()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)
-
Constructor Details
-
JoinHash
public JoinHash(PagesHash pagesHash, Optional<JoinFilterFunction> filterFunction, Optional<PositionLinks> positionLinks, long pageInstancesRetainedSizeInBytes)
-
-
Method Details
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceLookupSource
-
getJoinPositionCount
public long getJoinPositionCount()- Specified by:
getJoinPositionCountin interfaceLookupSource
-
getInMemorySizeInBytes
public long getInMemorySizeInBytes()- Specified by:
getInMemorySizeInBytesin interfaceLookupSource
-
joinPositionWithinPartition
public long joinPositionWithinPartition(long joinPosition) - Specified by:
joinPositionWithinPartitionin 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
- Specified by:
appendToin interfaceLookupSource
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceLookupSource
-