CursorResultSet
, NoPutResultSet
, ResultSet
, RowLocationRetRowSource
, RowSource
HashLeftOuterJoinResultSet
class NestedLoopLeftOuterJoinResultSet extends NestedLoopJoinResultSet
BasicNoPutResultSetImpl.FieldComparator
Modifier and Type | Field | Description |
---|---|---|
int |
emptyRightRowsReturned |
|
protected GeneratedMethod |
emptyRowFun |
|
private boolean |
matchRight |
|
private boolean |
returnedEmptyRight |
|
private ExecRow |
rightEmptyRow |
|
private boolean |
wasRightOuterJoin |
activation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArray
isRightOpen, leftNumCols, leftResultSet, leftRow, mergedRow, notExistsRightSide, oneRowRightSide, restriction, restrictionTime, rightNumCols, rightResultSet, rightRow, rowsReturned, rowsSeenLeft, rowsSeenRight, userSuppliedOptimizerOverrides
ABSOLUTE, FIRST, LAST, NEXT, PREVIOUS, RELATIVE, TEMPORARY_RESULT_SET_NUMBER
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSet
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST
Constructor | Description |
---|---|
NestedLoopLeftOuterJoinResultSet(NoPutResultSet leftResultSet,
int leftNumCols,
NoPutResultSet rightResultSet,
int rightNumCols,
Activation activation,
GeneratedMethod restriction,
int resultSetNumber,
GeneratedMethod emptyRowFun,
boolean wasRightOuterJoin,
boolean oneRowRightSide,
boolean notExistsRightSide,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost,
java.lang.String userSuppliedOptimizerOverrides) |
Modifier and Type | Method | Description |
---|---|---|
(package private) void |
clearScanState() |
Clear any private state that changes during scans.
|
protected void |
getMergedRow(ExecRow leftRow,
ExecRow rightRow) |
|
ExecRow |
getNextRowCore() |
Return the requested values computed
from the next row (if any) for which
the restriction evaluates to true.
|
addWarning, attachStatementContext, checkCancellationFlag, checkRowPosition, childrenToXML, cleanUp, dumpTimeStats, finishAndRTS, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCompactRow, getCurrentTimeMillis, getElapsedMillis, getEndExecutionTimestamp, getEstimatedRowCount, getExecuteTime, getExecutionFactory, getFirstRow, getLanguageConnectionContext, getLastRow, getNextRow, getPointOfAttachment, getPreviousRow, getRelativeRow, getRowNumber, getScanIsolationLevel, getSubqueryTrackingArray, getTransactionController, getWarnings, isClosed, isXplainOnlyMode, markAsTopResultSet, modifiedRowCount, open, recordConstructorTime, requiresRelocking, returnsRows, setAfterLastRow, setBeforeFirstRow, setCompactRow, setCompatRow, toXML, toXML
closeRight, finish, getCurrentRow, getRowLocation, openCore, openRight, reopenCore
close, getTimeSpent
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, isForUpdate, markRowAsDeleted, needsRowLocation, needsRowLocationForDeferredCheckConstraints, needsToClone, offendingRowLocation, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setHasDeferrableChecks, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, unpackHashValue, updateRow
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addWarning, checkRowPosition, cleanUp, clearCurrentRow, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCursorName, getEndExecutionTimestamp, getExecuteTime, getFirstRow, getLastRow, getNextRow, getPreviousRow, getRelativeRow, getResultDescription, getRowNumber, getSubqueryTrackingArray, getWarnings, isClosed, modifiedRowCount, open, returnsRows, setAfterLastRow, setBeforeFirstRow, toXML
protected GeneratedMethod emptyRowFun
private boolean wasRightOuterJoin
private boolean matchRight
private boolean returnedEmptyRight
private ExecRow rightEmptyRow
public int emptyRightRowsReturned
NestedLoopLeftOuterJoinResultSet(NoPutResultSet leftResultSet, int leftNumCols, NoPutResultSet rightResultSet, int rightNumCols, Activation activation, GeneratedMethod restriction, int resultSetNumber, GeneratedMethod emptyRowFun, boolean wasRightOuterJoin, boolean oneRowRightSide, boolean notExistsRightSide, double optimizerEstimatedRowCount, double optimizerEstimatedCost, java.lang.String userSuppliedOptimizerOverrides)
public ExecRow getNextRowCore() throws StandardException
restriction parameters are evaluated for each row.
getNextRowCore
in interface NoPutResultSet
getNextRowCore
in class NestedLoopJoinResultSet
StandardException
- Thrown on errorStandardException
- ResultSetNotOpen thrown if closedNoPutResultSet.getNextRowCore()
protected void getMergedRow(ExecRow leftRow, ExecRow rightRow) throws StandardException
StandardException
void clearScanState()
This method is called on open()/close() and reopen()
WARNING: this should be implemented in every sub class and it should always call super.clearScanState().
clearScanState
in class NestedLoopJoinResultSet
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.