@Immutable public class AddIndexes extends Object implements OptimizerRule
PlanNode.Type.SOURCE nodes. The rule uses an IndexPlanner that will actually look at the
AND-ed constraints for the source (that is, the constraints in the PlanNode.Type.SELECT above the PlanNode.Type.SOURCE node but
below an PlanNode.Type.ACCESS node) and produce 0 or more indexes. These indexes are then added as PlanNode.Type.INDEX nodes
below the PlanNode.Type.SOURCE node.| Modifier | Constructor and Description |
|---|---|
protected |
AddIndexes(IndexPlanners planner) |
| Modifier and Type | Method and Description |
|---|---|
PlanNode |
execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules.
|
static AddIndexes |
implicitIndexes()
The instance of the rule that uses the implicit indexes, like those for finding nodes (or children or descendants) based
upon a path.
|
static AddIndexes |
with(IndexPlanners planners)
The instance of the rule that uses the supplied index planner.
|
protected AddIndexes(IndexPlanners planner)
public static AddIndexes implicitIndexes()
public static AddIndexes with(IndexPlanners planners)
planners - the index planners; should not be nullpublic PlanNode execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)
OptimizerRuleexecute in interface OptimizerRulecontext - the context in which the query is being optimized; never nullplan - the plan to be optimized; never nullruleStack - the stack of rules that will be run after this rule; never nullCopyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.