Package | Description |
---|---|
org.modeshape.jcr.query.optimize |
This package contains the Optimizer interface, a rule-based optimizer implementation, and library of optimization rules.
|
Modifier and Type | Class and Description |
---|---|
class |
AddAccessNodes
An
optimizer rule that inserts an ACCESS above each SOURCE leaf node in a query plan. |
class |
AddIndexes
A rule that adds indexes below
PlanNode.Type.SOURCE nodes. |
class |
AddJoinConditionColumnsToSources
An
OptimizerRule that adds any missing columns required by the join conditions to the appropriate join source. |
class |
AddOrderingColumnsToSources
An
OptimizerRule that adds any missing columns required by the ordering specifications to the SORT node's PROJECT, and
to the appropriate access nodes. |
class |
ChooseJoinAlgorithm
An
optimizer rule that choose the appropriate join algorithm and sets up any prerequisites, based upon
the JoinCondition . |
class |
CopyCriteria
An
optimizer rule that copies SELECT nodes that apply to one side of a equi-join condition so that they
also apply to the other side fo the equi-join condition. |
class |
JoinOrder
An optimization rule that ensure that the order of the left and right side of a JOIN match certain join criteria, including
DescendantNodeJoinCondition and ChildNodeJoinCondition . |
class |
OrderIndexesByCost |
class |
PushProjects
This rule attempts to ensure the proper location of
PlanNode.Type.PROJECT nodes. |
class |
PushSelectCriteria
An
optimizer rule that attempts to push the criteria nodes in a canonical plan down as far as possible. |
class |
RaiseSelectCriteria
An
optimizer rule that moves up higher in the plan any SELECT node that appears below a JOIN node and
that applies to selectors that are on the other side of the join. |
class |
RaiseVariableName
An
optimizer rule that moves up higher in the plan any variable name
property to the node immediately under a dependent query node. |
class |
RemoveEmptyAccessNodes
An
optimizer rule that removes any ACCESS nodes that are known to never return any tuples because of
conflicting constraints. |
class |
ReorderSortAndRemoveDuplicates
An
optimizer rule that looks for a PlanNode.Type.SORT plan node below a PlanNode.Type.DUP_REMOVE , and swaps
them. |
class |
ReplaceViews
An
optimizer rule that replaces any SOURCE nodes that happen to be views . |
class |
RewriteAsRangeCriteria
An
optimizer rule that rewrites two AND-ed Constraint s that constraint a dynamic
operand to a range of values as a single Between constraint. |
class |
RewriteIdentityJoins
An
optimizer rule that rewrites JOIN nodes that have equi-join criteria where
the columns involved in the equi-join are all identity columns (that is, they form a
key for the table). |
class |
RewritePathAndNameCriteria
An
optimizer rule that rewrites Constraint trees, moving path-, name-, or depth-oriented criteria to the
left-most parts of the constraint tree. |
class |
RewritePseudoColumns
Changes any criteria that writes criteria containing pseudo-columns into standard criteria.
|
class |
RightOuterToLeftOuterJoins
|
Modifier and Type | Method and Description |
---|---|
PlanNode |
RightOuterToLeftOuterJoins.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
RewritePseudoColumns.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
RewritePathAndNameCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
RewriteIdentityJoins.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
RewriteAsRangeCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
ReplaceViews.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
ReorderSortAndRemoveDuplicates.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
RemoveEmptyAccessNodes.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
RaiseVariableName.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
RaiseSelectCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
PushSelectCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
PushProjects.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
OrderIndexesByCost.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
OptimizerRule.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules.
|
PlanNode |
JoinOrder.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
CopyCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
ChooseJoinAlgorithm.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
AddOrderingColumnsToSources.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
AddJoinConditionColumnsToSources.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
AddIndexes.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
PlanNode |
AddAccessNodes.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack) |
protected void |
RuleBasedOptimizer.populateIndexingRules(LinkedList<OptimizerRule> ruleStack,
PlanHints hints)
Method that is used to add the indexing rules to the rule stack.
|
protected void |
RuleBasedOptimizer.populateRuleStack(LinkedList<OptimizerRule> ruleStack,
PlanHints hints)
Method that is used to create the initial rule stack.
|
Copyright © 2008–2016 JBoss, a division of Red Hat. All rights reserved.