public interface PagesHashStrategy
Modifier and Type | Method and Description |
---|---|
void |
appendTo(int blockIndex,
int position,
PageBuilder pageBuilder,
int outputChannelOffset)
Appends all values at the specified position to the page builder starting at
outputChannelOffset . |
int |
compareSortChannelPositions(int leftBlockIndex,
int leftBlockPosition,
int rightBlockIndex,
int rightBlockPosition)
Compares sort channel (if applicable) values at the specified positions.
|
int |
getChannelCount()
Gets the number of columns appended by this PagesHashStrategy.
|
long |
getSizeInBytes()
Get the total of allocated size
|
long |
hashPosition(int blockIndex,
int position)
Calculates the hash code the hashed columns in this PagesHashStrategy at the specified position.
|
long |
hashRow(int position,
Page page)
Calculates the hash code at
position in page . |
boolean |
isPositionNull(int blockIndex,
int blockPosition)
Checks if any of the hashed columns is null
|
boolean |
isSortChannelPositionNull(int blockIndex,
int blockPosition)
Checks if sort channel is null at the specified position
|
boolean |
positionEqualsPosition(int leftBlockIndex,
int leftPosition,
int rightBlockIndex,
int rightPosition)
Compares the hashed columns in this PagesHashStrategy at the specified positions.
|
boolean |
positionEqualsPositionIgnoreNulls(int leftBlockIndex,
int leftPosition,
int rightBlockIndex,
int rightPosition)
Compares the hashed columns in this PagesHashStrategy at the specified positions.
|
boolean |
positionEqualsRow(int leftBlockIndex,
int leftPosition,
int rightPosition,
Page rightPage)
Compares the hashed columns in this PagesHashStrategy to the values in the specified page.
|
boolean |
positionEqualsRow(int leftBlockIndex,
int leftPosition,
int rightPosition,
Page page,
int[] rightChannels)
Compares the hashed columns in this PagesHashStrategy to the hashed columns in the Page.
|
boolean |
positionEqualsRowIgnoreNulls(int leftBlockIndex,
int leftPosition,
int rightPosition,
Page rightPage)
Compares the hashed columns in this PagesHashStrategy to the values in the specified page.
|
boolean |
positionNotDistinctFromRow(int leftBlockIndex,
int leftPosition,
int rightPosition,
Page page,
int[] rightChannels)
Compares the hashed columns in this PagesHashStrategy to the hashed columns in the Page.
|
boolean |
rowEqualsRow(int leftPosition,
Page leftPage,
int rightPosition,
Page rightPage)
Compares the values in the specified pages.
|
int getChannelCount()
long getSizeInBytes()
void appendTo(int blockIndex, int position, PageBuilder pageBuilder, int outputChannelOffset)
outputChannelOffset
.long hashPosition(int blockIndex, int position)
long hashRow(int position, Page page)
position
in page
. Page must have the same number of
Blocks as the hashed columns and each entry is expected to be the same type.boolean rowEqualsRow(int leftPosition, Page leftPage, int rightPosition, Page rightPage)
leftPage
and rightPage
must have the same number of entries as the hashed columns and each entry
is expected to be the same type.boolean positionEqualsRow(int leftBlockIndex, int leftPosition, int rightPosition, Page rightPage)
rightPage
must have the same number of entries as
the hashed columns and each entry is expected to be the same type.
rightPage
is used if join uses filter function and must contain all columns from probe side of join.boolean positionEqualsRowIgnoreNulls(int leftBlockIndex, int leftPosition, int rightPosition, Page rightPage)
rightPage
must have the same number of entries as
the hashed columns and each entry is expected to be the same type.
rightPage
is used if join uses filter function and must contain all columns from probe side of join.
This method does not perform any null checks.
boolean positionEqualsRow(int leftBlockIndex, int leftPosition, int rightPosition, Page page, int[] rightChannels)
rightChannels
must have the same number of entries as
the hashed columns and each entry is expected to be the same type.boolean positionNotDistinctFromRow(int leftBlockIndex, int leftPosition, int rightPosition, Page page, int[] rightChannels)
rightChannels
must have the same number of entries as the hashed columns
and each entry is expected to be the same type.boolean positionEqualsPosition(int leftBlockIndex, int leftPosition, int rightBlockIndex, int rightPosition)
boolean positionEqualsPositionIgnoreNulls(int leftBlockIndex, int leftPosition, int rightBlockIndex, int rightPosition)
This method does not perform any null checks.
boolean isPositionNull(int blockIndex, int blockPosition)
int compareSortChannelPositions(int leftBlockIndex, int leftBlockPosition, int rightBlockIndex, int rightBlockPosition)
boolean isSortChannelPositionNull(int blockIndex, int blockPosition)
Copyright © 2012–2019. All rights reserved.