java.lang.Object
org.apache.derby.impl.sql.compile.BaseJoinStrategy
- All Implemented Interfaces:
- org.apache.derby.iapi.sql.compile.JoinStrategy
- Direct Known Subclasses:
- HashJoinStrategy, NestedLoopJoinStrategy
- public abstract class BaseJoinStrategy
- extends java.lang.Object
- implements org.apache.derby.iapi.sql.compile.JoinStrategy
|
Method Summary |
boolean |
bulkFetchOK()
Is it OK to use bulk fetch with this join strategy? |
protected void |
fillInScanArgs1(org.apache.derby.iapi.store.access.TransactionController tc,
org.apache.derby.iapi.services.compiler.MethodBuilder mb,
org.apache.derby.iapi.sql.compile.Optimizable innerTable,
org.apache.derby.iapi.sql.compile.OptimizablePredicateList predList,
org.apache.derby.iapi.sql.compile.ExpressionClassBuilderInterface acbi,
org.apache.derby.iapi.services.compiler.MethodBuilder resultRowAllocator)
|
protected void |
fillInScanArgs2(org.apache.derby.iapi.services.compiler.MethodBuilder mb,
org.apache.derby.iapi.sql.compile.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:
org.apache.derby.iapi.sql.compile.JoinStrategy
- Is it OK to use bulk fetch with this join strategy?
- Specified by:
bulkFetchOK in interface org.apache.derby.iapi.sql.compile.JoinStrategy
ignoreBulkFetch
public boolean ignoreBulkFetch()
- Description copied from interface:
org.apache.derby.iapi.sql.compile.JoinStrategy
- Should we just ignore bulk fetch with this join strategy?
- Specified by:
ignoreBulkFetch in interface org.apache.derby.iapi.sql.compile.JoinStrategy
fillInScanArgs1
protected void fillInScanArgs1(org.apache.derby.iapi.store.access.TransactionController tc,
org.apache.derby.iapi.services.compiler.MethodBuilder mb,
org.apache.derby.iapi.sql.compile.Optimizable innerTable,
org.apache.derby.iapi.sql.compile.OptimizablePredicateList predList,
org.apache.derby.iapi.sql.compile.ExpressionClassBuilderInterface acbi,
org.apache.derby.iapi.services.compiler.MethodBuilder resultRowAllocator)
throws org.apache.derby.iapi.error.StandardException
fillInScanArgs2
protected void fillInScanArgs2(org.apache.derby.iapi.services.compiler.MethodBuilder mb,
org.apache.derby.iapi.sql.compile.Optimizable innerTable,
int bulkFetch,
int colRefItem,
int indexColItem,
int lockMode,
boolean tableLocked,
int isolationLevel)
throws org.apache.derby.iapi.error.StandardException
isHashJoin
public boolean isHashJoin()
- Description copied from interface:
org.apache.derby.iapi.sql.compile.JoinStrategy
- Is this a form of hash join?
- Specified by:
isHashJoin in interface org.apache.derby.iapi.sql.compile.JoinStrategy
validForOutermostTable
protected boolean validForOutermostTable()
- Can this join strategy be used on the
outermost table of a join.