Class SortMergeJoinIterator
- java.lang.Object
-
- org.apache.flink.table.runtime.operators.join.SortMergeJoinIterator
-
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
SortMergeInnerJoinIterator,SortMergeOneSideOuterJoinIterator
public abstract class SortMergeJoinIterator extends Object implements Closeable
Gets probeRow and match rows for inner/left/right join.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.flink.table.data.binary.BinaryRowDatabufferedKeyprotected org.apache.flink.table.data.binary.BinaryRowDatabufferedRowprotected RecordComparatorkeyComparatorprotected ResettableExternalBuffermatchBufferprotected org.apache.flink.table.data.binary.BinaryRowDatamatchKeyprotected org.apache.flink.table.data.binary.BinaryRowDataprobeKey
-
Constructor Summary
Constructors Constructor Description SortMergeJoinIterator(BinaryRowDataSerializer probeSerializer, BinaryRowDataSerializer bufferedSerializer, Projection<org.apache.flink.table.data.RowData,org.apache.flink.table.data.binary.BinaryRowData> probeProjection, Projection<org.apache.flink.table.data.RowData,org.apache.flink.table.data.binary.BinaryRowData> bufferedProjection, RecordComparator keyComparator, org.apache.flink.util.MutableObjectIterator<org.apache.flink.table.data.RowData> probeIterator, org.apache.flink.util.MutableObjectIterator<org.apache.flink.table.data.binary.BinaryRowData> bufferedIterator, ResettableExternalBuffer buffer, boolean[] filterNulls)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanadvanceNextSuitableBufferedRow()protected booleanadvanceNextSuitableProbeRow()protected voidbufferMatchingRows()voidclose()ResettableExternalBuffergetMatchBuffer()org.apache.flink.table.data.binary.BinaryRowDatagetMatchKey()org.apache.flink.table.data.RowDatagetProbeRow()protected booleannextProbe()
-
-
-
Field Detail
-
keyComparator
protected final RecordComparator keyComparator
-
probeKey
protected org.apache.flink.table.data.binary.BinaryRowData probeKey
-
bufferedRow
protected org.apache.flink.table.data.binary.BinaryRowData bufferedRow
-
bufferedKey
protected org.apache.flink.table.data.binary.BinaryRowData bufferedKey
-
matchKey
protected org.apache.flink.table.data.binary.BinaryRowData matchKey
-
matchBuffer
protected ResettableExternalBuffer matchBuffer
-
-
Constructor Detail
-
SortMergeJoinIterator
public SortMergeJoinIterator(BinaryRowDataSerializer probeSerializer, BinaryRowDataSerializer bufferedSerializer, Projection<org.apache.flink.table.data.RowData,org.apache.flink.table.data.binary.BinaryRowData> probeProjection, Projection<org.apache.flink.table.data.RowData,org.apache.flink.table.data.binary.BinaryRowData> bufferedProjection, RecordComparator keyComparator, org.apache.flink.util.MutableObjectIterator<org.apache.flink.table.data.RowData> probeIterator, org.apache.flink.util.MutableObjectIterator<org.apache.flink.table.data.binary.BinaryRowData> bufferedIterator, ResettableExternalBuffer buffer, boolean[] filterNulls) throws IOException
- Throws:
IOException
-
-
Method Detail
-
advanceNextSuitableProbeRow
protected boolean advanceNextSuitableProbeRow() throws IOException- Throws:
IOException
-
advanceNextSuitableBufferedRow
protected boolean advanceNextSuitableBufferedRow() throws IOException- Throws:
IOException
-
nextProbe
protected boolean nextProbe() throws IOException- Throws:
IOException
-
bufferMatchingRows
protected void bufferMatchingRows() throws IOException- Throws:
IOException
-
getProbeRow
public org.apache.flink.table.data.RowData getProbeRow()
-
getMatchKey
public org.apache.flink.table.data.binary.BinaryRowData getMatchKey()
-
getMatchBuffer
public ResettableExternalBuffer getMatchBuffer()
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
-