Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.derby.impl.sql.compile
Class BaseJoinStrategy  view BaseJoinStrategy download BaseJoinStrategy.java

java.lang.Object
  extended byorg.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


Constructor Summary
BaseJoinStrategy()
           
 
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
 

Constructor Detail

BaseJoinStrategy

public BaseJoinStrategy()
Method Detail

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.