Package io.trino.operator.join
Class BigintPagesHash
java.lang.Object
io.trino.operator.join.BigintPagesHash
- All Implemented Interfaces:
PagesHash
This implementation assumes:
-There is only one join channel and it is of type bigint
-arrays used in the hash are always a power of 2.
-
Constructor Summary
ConstructorsConstructorDescriptionBigintPagesHash(it.unimi.dsi.fastutil.longs.LongArrayList addresses, PagesHashStrategy pagesHashStrategy, PositionLinks.FactoryBuilder positionLinks, HashArraySizeSupplier hashArraySizeSupplier, List<Page> pages, int joinChannel) -
Method Summary
Modifier and TypeMethodDescriptionvoidappendTo(long position, PageBuilder pageBuilder, int outputChannelOffset) int[]getAddressIndex(int[] positions, Page hashChannelsPage) int[]getAddressIndex(int[] positions, Page hashChannelsPage, long[] rawHashes) intgetAddressIndex(int position, Page hashChannelsPage) intgetAddressIndex(int position, Page hashChannelsPage, long rawHash) static longgetEstimatedRetainedSizeInBytes(int positionCount, HashArraySizeSupplier hashArraySizeSupplier, it.unimi.dsi.fastutil.longs.LongArrayList addresses, List<it.unimi.dsi.fastutil.objects.ObjectArrayList<Block>> channels, long blocksSizeInBytes) longint
-
Constructor Details
-
BigintPagesHash
public BigintPagesHash(it.unimi.dsi.fastutil.longs.LongArrayList addresses, PagesHashStrategy pagesHashStrategy, PositionLinks.FactoryBuilder positionLinks, HashArraySizeSupplier hashArraySizeSupplier, List<Page> pages, int joinChannel)
-
-
Method Details
-
getPositionCount
public int getPositionCount()- Specified by:
getPositionCountin interfacePagesHash
-
getInMemorySizeInBytes
public long getInMemorySizeInBytes()- Specified by:
getInMemorySizeInBytesin interfacePagesHash
-
getAddressIndex
- Specified by:
getAddressIndexin interfacePagesHash
-
getAddressIndex
- Specified by:
getAddressIndexin interfacePagesHash
-
getAddressIndex
- Specified by:
getAddressIndexin interfacePagesHash
-
getAddressIndex
- Specified by:
getAddressIndexin interfacePagesHash
-
appendTo
-
getEstimatedRetainedSizeInBytes
public static long getEstimatedRetainedSizeInBytes(int positionCount, HashArraySizeSupplier hashArraySizeSupplier, it.unimi.dsi.fastutil.longs.LongArrayList addresses, List<it.unimi.dsi.fastutil.objects.ObjectArrayList<Block>> channels, long blocksSizeInBytes)
-