@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)
OptimizerRule
execute
in interface OptimizerRule
context
- 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–2016 JBoss, a division of Red Hat. All rights reserved.