Class OptimizerPlan
java.lang.Object
org.apache.derby.iapi.sql.compile.OptimizerPlan
- Direct Known Subclasses:
OptimizerPlan.DeadEnd, OptimizerPlan.Join, OptimizerPlan.RowSource
High level description of a plan for consideration by the Optimizer. This is used to specify a complete plan via optimizer overrides. A plan is a tree whose interior nodes are join operators and whose leaves are row sources (conglomerates or tableFunctions).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic classGeneric plan for row sources we don't understandstatic final class/////////////////////////////////////////////////////////////////////static classstatic final class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidbind(DataDictionary dataDictionary, LanguageConnectionContext lcc, CompilerContext cc) Bind the conglomerate and table function names in this plan.abstract intCount the number of leaf nodes under (and including) this node.abstract booleanisBound()Return true if this the schema and RowSource names have been resolved.abstract booleanisLeftPrefixOf(OptimizerPlan that) Return true if this plan is a (left) leading prefix of the other plan.abstract OptimizerPlanGet the leftmost leaf node in this plan.static OptimizerPlan.RowSourceMake a RowSource corresponding to the given tuple descriptor.
-
Constructor Details
-
OptimizerPlan
public OptimizerPlan()
-
-
Method Details
-
makeRowSource
public static OptimizerPlan.RowSource makeRowSource(UniqueTupleDescriptor utd, DataDictionary dd) throws StandardException Make a RowSource corresponding to the given tuple descriptor.
- Throws:
StandardException
-
bind
public abstract void bind(DataDictionary dataDictionary, LanguageConnectionContext lcc, CompilerContext cc) throws StandardException Bind the conglomerate and table function names in this plan.
- Parameters:
dataDictionary- DataDictionary to bind against.- Throws:
StandardException
-
isBound
public abstract boolean isBound()Return true if this the schema and RowSource names have been resolved.
-
countLeafNodes
public abstract int countLeafNodes()Count the number of leaf nodes under (and including) this node.
-
leftmostLeaf
Get the leftmost leaf node in this plan.
-
isLeftPrefixOf
Return true if this plan is a (left) leading prefix of the other plan.
-