Top Description Fields Constructors Methods
org.apache.derby.impl.sql.execute

pack-priv Class NestedLoopLeftOuterJoinResultSet

extends NestedLoopJoinResultSet
Class Inheritance
Known Direct Subclasses
org.apache.derby.impl.sql.execute.HashLeftOuterJoinResultSet
Imports
org.apache.derby.shared.common.error.StandardException, org.apache.derby.shared.common.reference.SQLState, org.apache.derby.iapi.services.loader.GeneratedMethod, org.apache.derby.iapi.sql.Activation, org.apache.derby.iapi.sql.execute.ExecRow, .NoPutResultSet, org.apache.derby.iapi.types.DataValueDescriptor

Takes 2 NoPutResultSets and a join filter and returns the join's rows satisfying the filter as a result set plus the rows from the left joined with a null row from the right when there is no matching row in the right result set.

Field Summary

Modifier and TypeField and Description
public int
protected GeneratedMethod
private boolean
private boolean
private ExecRow
private boolean

Constructor Summary

AccessConstructor and Description
pack-priv
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, String userSuppliedOptimizerOverrides)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
clearScanState()

Overrides org.apache.derby.impl.sql.execute.NestedLoopJoinResultSet.clearScanState.

Clear any private state that changes during scans.

protected void
getMergedRow(ExecRow leftRow, ExecRow rightRow)

public ExecRow

Returns:

the next row in the join result
getNextRowCore
()

Overrides org.apache.derby.impl.sql.execute.NestedLoopJoinResultSet.getNextRowCore.

Implements org.apache.derby.iapi.sql.execute.NoPutResultSet.getNextRowCore.

Return the requested values computed from the next row (if any) for which the restriction evaluates to true.

Inherited from org.apache.derby.impl.sql.execute.NestedLoopJoinResultSet:
closegetTimeSpent

Field Detail

emptyRightRowsReturnedback to summary
public int emptyRightRowsReturned
emptyRowFunback to summary
protected GeneratedMethod emptyRowFun
matchRightback to summary
private boolean matchRight
returnedEmptyRightback to summary
private boolean returnedEmptyRight
rightEmptyRowback to summary
private ExecRow rightEmptyRow
wasRightOuterJoinback to summary
private boolean wasRightOuterJoin

Constructor Detail

NestedLoopLeftOuterJoinResultSetback to summary
pack-priv 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, String userSuppliedOptimizerOverrides)

Method Detail

clearScanStateback to summary
pack-priv void clearScanState()

Overrides org.apache.derby.impl.sql.execute.NestedLoopJoinResultSet.clearScanState.

Clear any private state that changes during scans. This includes things like the last row seen, etc. THis does not include immutable things that are typically set up in the constructor.

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().

getMergedRowback to summary
protected void getMergedRow(ExecRow leftRow, ExecRow rightRow) throws StandardException
getNextRowCoreback to summary
public ExecRow getNextRowCore() throws StandardException

Overrides org.apache.derby.impl.sql.execute.NestedLoopJoinResultSet.getNextRowCore.

Implements org.apache.derby.iapi.sql.execute.NoPutResultSet.getNextRowCore.

Return the requested values computed from the next row (if any) for which the restriction evaluates to true.

restriction parameters are evaluated for each row.

Returns:ExecRow

the next row in the join result

Exceptions
StandardException:
  • Thrown on error
  • ResultSetNotOpen thrown if closed