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 class
static class
Generic plan for row sources we don't understandstatic final class
static class
static final class
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
bind
(DataDictionary dataDictionary, LanguageConnectionContext lcc, CompilerContext cc) Bind the conglomerate and table function names in this plan.abstract int
Count the number of leaf nodes under (and including) this node.abstract boolean
isBound()
Return true if this the schema and RowSource names have been resolved.abstract boolean
isLeftPrefixOf
(OptimizerPlan that) Return true if this plan is a (left) leading prefix of the other plan.abstract OptimizerPlan
Get the leftmost leaf node in this plan.static OptimizerPlan.RowSource
Make 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.
-