org.apache.derby.impl.sql.compile
Class BaseJoinStrategy
java.lang.Object
org.apache.derby.impl.sql.compile.BaseJoinStrategy
- All Implemented Interfaces:
- JoinStrategy
- Direct Known Subclasses:
- HashJoinStrategy, NestedLoopJoinStrategy
- public abstract class BaseJoinStrategy
- extends java.lang.Object
- implements JoinStrategy
Method Summary |
boolean |
bulkFetchOK()
Is it OK to use bulk fetch with this join strategy? |
protected void |
fillInScanArgs1(TransactionController tc,
MethodBuilder mb,
Optimizable innerTable,
OptimizablePredicateList predList,
ExpressionClassBuilderInterface acbi,
MethodBuilder resultRowAllocator)
|
protected void |
fillInScanArgs2(MethodBuilder mb,
Optimizable innerTable,
int bulkFetch,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel)
|
boolean |
ignoreBulkFetch()
Should we just ignore bulk fetch with this join strategy? |
boolean |
isHashJoin()
Is this a form of hash join? |
protected boolean |
validForOutermostTable()
Can this join strategy be used on the
outermost table of a join. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.derby.iapi.sql.compile.JoinStrategy |
divideUpPredicateLists, doesMaterialization, estimateCost, feasible, getBasePredicates, getName, getScanArgs, halfOuterJoinResultSetMethodName, joinResultSetMethodName, maxCapacity, multiplyBaseCostByOuterRows, nonBasePredicateSelectivity, putBasePredicates, resultSetMethodName, scanCostType |
BaseJoinStrategy
public BaseJoinStrategy()
bulkFetchOK
public boolean bulkFetchOK()
- Description copied from interface:
JoinStrategy
- Is it OK to use bulk fetch with this join strategy?
- Specified by:
bulkFetchOK
in interface JoinStrategy
- See Also:
JoinStrategy.bulkFetchOK()
ignoreBulkFetch
public boolean ignoreBulkFetch()
- Description copied from interface:
JoinStrategy
- Should we just ignore bulk fetch with this join strategy?
- Specified by:
ignoreBulkFetch
in interface JoinStrategy
- See Also:
JoinStrategy.ignoreBulkFetch()
fillInScanArgs1
protected void fillInScanArgs1(TransactionController tc,
MethodBuilder mb,
Optimizable innerTable,
OptimizablePredicateList predList,
ExpressionClassBuilderInterface acbi,
MethodBuilder resultRowAllocator)
throws StandardException
- Throws:
StandardException
fillInScanArgs2
protected void fillInScanArgs2(MethodBuilder mb,
Optimizable innerTable,
int bulkFetch,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel)
throws StandardException
- Throws:
StandardException
isHashJoin
public boolean isHashJoin()
- Description copied from interface:
JoinStrategy
- Is this a form of hash join?
- Specified by:
isHashJoin
in interface JoinStrategy
- Returns:
- Whether or not this strategy is a form
of hash join.
- See Also:
JoinStrategy.isHashJoin()
validForOutermostTable
protected boolean validForOutermostTable()
- Can this join strategy be used on the
outermost table of a join.
- Returns:
- Whether or not this join strategy
can be used on the outermose table of a join.
Apache Derby V10.1 Engine Documentation - Copyright © 1997,2005 The Apache Software Foundation or its licensors, as applicable.