|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
Packages that use PlanNode | |
---|---|
org.modeshape.graph | The ModeShape Graph API defines the types that allow you to work with content organized as a graph. |
org.modeshape.graph.query | The Query API provides a mechanism for building and executing queries. |
org.modeshape.graph.query.optimize | This package contains the Optimizer interface, a rule-based optimizer implementation, and library of optimization rules. |
org.modeshape.graph.query.plan | This package defines the Planner interface, the CanonicalPlanner implementation, and the
PlanNode class that is used to represent a canonical query plan. |
org.modeshape.graph.query.process | This package defines the QueryProcessor interface, which is responsible for constructing for each query
a tree of ProcessingComponent objects that each are responsible for processing a specific aspect of
the query and returning the tuples to the parent component. |
Uses of PlanNode in org.modeshape.graph |
---|
Constructors in org.modeshape.graph with parameters of type PlanNode | |
---|---|
Graph.AccessQueryProcessor(String graphSourceName,
String workspaceName,
QueryContext context,
QueryResults.Columns columns,
PlanNode accessNode)
|
Uses of PlanNode in org.modeshape.graph.query |
---|
Methods in org.modeshape.graph.query with parameters of type PlanNode | |
---|---|
protected QueryResultColumns |
QueryEngine.determineQueryResultColumns(PlanNode optimizedPlan,
PlanHints hints)
|
Uses of PlanNode in org.modeshape.graph.query.optimize |
---|
Methods in org.modeshape.graph.query.optimize that return PlanNode | |
---|---|
protected PlanNode |
RaiseSelectCriteria.copySelectNode(QueryContext context,
PlanNode selectNode,
SelectorName selectorName,
String propertyName,
SelectorName copySelectorName,
String copyPropertyName)
|
protected PlanNode |
CopyCriteria.copySelectNode(QueryContext context,
PlanNode selectNode,
SelectorName selectorName,
String propertyName,
SelectorName copySelectorName,
String copyPropertyName)
|
PlanNode |
RightOuterToLeftOuterJoins.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
RewriteIdentityJoins.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
RewriteAsRangeCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
ReplaceViews.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
RemoveEmptyAccessNodes.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
RaiseSelectCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
PushSelectCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
PushProjects.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
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 |
CopyCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
ChooseJoinAlgorithm.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
AddAccessNodes.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
protected PlanNode |
PushSelectCriteria.findBestChildForCriteria(PlanNode criteriaNode,
PlanNode originatingNode)
|
protected PlanNode |
PushSelectCriteria.findOriginatingNode(PlanNode criteriaNode,
List<PlanNode> originatingNodes)
Find the first node that has all of the same selectors as the supplied criteria. |
PlanNode |
RuleBasedOptimizer.optimize(QueryContext context,
PlanNode plan)
Optimize the supplied query plan and produce an executable processor plan. |
PlanNode |
Optimizer.optimize(QueryContext context,
PlanNode plan)
Optimize the supplied query plan and produce an executable processor plan. |
Methods in org.modeshape.graph.query.optimize with parameters of type PlanNode | |
---|---|
protected boolean |
PushSelectCriteria.atBoundary(PlanNode criteriaNode,
PlanNode originatingNode)
Determine whether all of the nodes between the criteria node and its originating node are criteria (SELECT) nodes. |
protected PlanNode |
RaiseSelectCriteria.copySelectNode(QueryContext context,
PlanNode selectNode,
SelectorName selectorName,
String propertyName,
SelectorName copySelectorName,
String copyPropertyName)
|
protected PlanNode |
CopyCriteria.copySelectNode(QueryContext context,
PlanNode selectNode,
SelectorName selectorName,
String propertyName,
SelectorName copySelectorName,
String copyPropertyName)
|
protected void |
CopyCriteria.copySelectNodes(QueryContext context,
PlanNode fromJoined,
PlanNode toJoined)
|
PlanNode |
RightOuterToLeftOuterJoins.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
RewriteIdentityJoins.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
RewriteAsRangeCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
ReplaceViews.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
RemoveEmptyAccessNodes.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
RaiseSelectCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
PushSelectCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
PushProjects.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
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 |
CopyCriteria.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
ChooseJoinAlgorithm.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
PlanNode |
AddAccessNodes.execute(QueryContext context,
PlanNode plan,
LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules. |
protected PlanNode |
PushSelectCriteria.findBestChildForCriteria(PlanNode criteriaNode,
PlanNode originatingNode)
|
protected PlanNode |
PushSelectCriteria.findOriginatingNode(PlanNode criteriaNode,
List<PlanNode> originatingNodes)
Find the first node that has all of the same selectors as the supplied criteria. |
PlanNode |
RuleBasedOptimizer.optimize(QueryContext context,
PlanNode plan)
Optimize the supplied query plan and produce an executable processor plan. |
PlanNode |
Optimizer.optimize(QueryContext context,
PlanNode plan)
Optimize the supplied query plan and produce an executable processor plan. |
protected boolean |
PushSelectCriteria.pushDownJoinCriteria(PlanNode criteriaNode,
PlanNode joinNode)
Attempt to push down criteria that applies to the JOIN as additional constraints on the JOIN itself. |
protected boolean |
PushSelectCriteria.pushTowardsOriginatingNode(PlanNode criteriaNode,
PlanNode originatingNode)
Push the criteria node as close to the originating node as possible. |
protected void |
RewriteIdentityJoins.rewriteJoinNode(QueryContext context,
PlanNode joinNode,
Map<SelectorName,SelectorName> rewrittenSelectors)
|
Method parameters in org.modeshape.graph.query.optimize with type arguments of type PlanNode | |
---|---|
protected PlanNode |
PushSelectCriteria.findOriginatingNode(PlanNode criteriaNode,
List<PlanNode> originatingNodes)
Find the first node that has all of the same selectors as the supplied criteria. |
Uses of PlanNode in org.modeshape.graph.query.plan |
---|
Methods in org.modeshape.graph.query.plan that return PlanNode | |
---|---|
protected PlanNode |
CanonicalPlanner.attachCriteria(QueryContext context,
PlanNode plan,
Constraint constraint)
Attach all criteria above the join nodes. |
protected PlanNode |
CanonicalPlanner.attachDuplicateRemoval(QueryContext context,
PlanNode plan)
Attach DUP_REMOVE node at top of tree. |
protected PlanNode |
CanonicalPlanner.attachLimits(QueryContext context,
PlanNode plan,
Limit limit)
Attach a LIMIT node at the top of the plan tree. |
protected PlanNode |
CanonicalPlanner.attachProject(QueryContext context,
PlanNode plan,
List<? extends Column> columns,
Map<SelectorName,Schemata.Table> selectors)
Attach a PROJECT node at the top of the plan tree. |
protected PlanNode |
CanonicalPlanner.attachSorting(QueryContext context,
PlanNode plan,
List<? extends Ordering> orderings)
Attach SORT node at top of tree. |
PlanNode |
PlanNode.clone()
This class returns a new clone of the plan tree rooted at this node. |
protected PlanNode |
PlanNode.cloneWithoutNewParent()
|
protected PlanNode |
CanonicalPlanner.createCanonicalPlan(QueryContext context,
Query query)
Create a canonical query plan for the given query. |
protected PlanNode |
CanonicalPlanner.createCanonicalPlan(QueryContext context,
SetQuery query)
Create a canonical query plan for the given set query. |
PlanNode |
Planner.createPlan(QueryContext context,
QueryCommand query)
Create a canonical query plan for the given command. |
PlanNode |
CanonicalPlanner.createPlan(QueryContext context,
QueryCommand query)
Create a canonical query plan for the given command. |
protected PlanNode |
CanonicalPlanner.createPlanNode(QueryContext context,
Source source,
Map<SelectorName,Schemata.Table> usedSelectors)
Create a JOIN or SOURCE node that contain the source information. |
PlanNode |
PlanNode.findAncestor(PlanNode.Type typeToFind)
Starting at the parent of this node, find the lowest (also closest) ancestor that has the specified type. |
PlanNode |
PlanNode.findAncestor(PlanNode.Type firstTypeToFind,
PlanNode.Type... additionalTypesToFind)
Starting at the parent of this node, find the lowest (also closest) ancestor that has one of the specified types. |
PlanNode |
PlanNode.findAncestor(Set<PlanNode.Type> typesToFind)
Starting at the parent of this node, find the lowest (also closest) ancestor that has one of the specified types. |
PlanNode |
PlanNode.findAtOrBelow(PlanNode.Traversal order,
PlanNode.Type typeToFind)
Find the first node with the specified type that are at or below this node. |
PlanNode |
PlanNode.findAtOrBelow(PlanNode.Traversal order,
PlanNode.Type firstTypeToFind,
PlanNode.Type... additionalTypesToFind)
Find the first node with one of the specified types that are at or below this node. |
PlanNode |
PlanNode.findAtOrBelow(PlanNode.Traversal order,
Set<PlanNode.Type> typesToFind)
Find the first node with one of the specified types that are at or below this node. |
PlanNode |
PlanNode.findAtOrBelow(PlanNode.Type typeToFind)
Find the first node with the specified type that are at or below this node. |
PlanNode |
PlanNode.findAtOrBelow(PlanNode.Type firstTypeToFind,
PlanNode.Type... additionalTypesToFind)
Find the first node with one of the specified types that are at or below this node. |
PlanNode |
PlanNode.findAtOrBelow(Set<PlanNode.Type> typesToFind)
Find the first node with one of the specified types that are at or below this node. |
PlanNode |
PlanNode.getChild(int index)
Get the child at the supplied index. |
PlanNode |
PlanNode.getFirstChild()
Get the first child. |
PlanNode |
PlanNode.getLastChild()
Get the last child. |
PlanNode |
PlanNode.getParent()
Get the parent of this node. |
PlanNode |
PlanNode.removeFromParent()
Remove this node from its parent, and return the node that used to be the parent of this node. |
Methods in org.modeshape.graph.query.plan that return types with arguments of type PlanNode | |
---|---|
List<PlanNode> |
PlanNode.findAllAtOrBelow()
Find all of the nodes that are at or below this node. |
List<PlanNode> |
PlanNode.findAllAtOrBelow(PlanNode.Traversal order)
Find all of the nodes that are at or below this node. |
List<PlanNode> |
PlanNode.findAllAtOrBelow(PlanNode.Traversal order,
PlanNode.Type typeToFind)
Find all of the nodes of the specified type that are at or below this node. |
List<PlanNode> |
PlanNode.findAllAtOrBelow(PlanNode.Traversal order,
PlanNode.Type firstTypeToFind,
PlanNode.Type... additionalTypesToFind)
Find all of the nodes with one of the specified types that are at or below this node. |
List<PlanNode> |
PlanNode.findAllAtOrBelow(PlanNode.Traversal order,
Set<PlanNode.Type> typesToFind)
Find all of the nodes with one of the specified types that are at or below this node. |
List<PlanNode> |
PlanNode.findAllAtOrBelow(PlanNode.Type typeToFind)
Find all of the nodes of the specified type that are at or below this node. |
List<PlanNode> |
PlanNode.findAllAtOrBelow(PlanNode.Type firstTypeToFind,
PlanNode.Type... additionalTypesToFind)
Find all of the nodes with one of the specified types that are at or below this node. |
List<PlanNode> |
PlanNode.findAllAtOrBelow(Set<PlanNode.Type> typesToFind)
Find all of the nodes with one of the specified types that are at or below this node. |
List<PlanNode> |
PlanNode.findAllFirstNodesAtOrBelow(PlanNode.Type typeToFind)
Look at nodes below this node, searching for nodes that have the supplied type. |
List<PlanNode> |
PlanNode.getChildren()
Get the unmodifiable list of child nodes. |
LinkedList<PlanNode> |
PlanNode.getPathTo(PlanNode descendant)
Get the path from this node (inclusive) to the supplied descendant node (inclusive) |
Iterator<PlanNode> |
PlanNode.iterator()
This iterator is immutable. |
List<PlanNode> |
PlanNode.removeAllChildren()
Remove all children from this node. |
Methods in org.modeshape.graph.query.plan with parameters of type PlanNode | |
---|---|
void |
PlanNode.addChildren(PlanNode first,
PlanNode second)
Add the supplied nodes at the end of the list of children. |
void |
PlanNode.addChildren(PlanNode first,
PlanNode second,
PlanNode third)
Add the supplied nodes at the end of the list of children. |
void |
PlanNode.addFirstChild(PlanNode child)
Add the supplied node to the front of the list of children. |
void |
PlanNode.addLastChild(PlanNode child)
Add the supplied node to the end of the list of children. |
protected PlanNode |
CanonicalPlanner.attachCriteria(QueryContext context,
PlanNode plan,
Constraint constraint)
Attach all criteria above the join nodes. |
protected PlanNode |
CanonicalPlanner.attachDuplicateRemoval(QueryContext context,
PlanNode plan)
Attach DUP_REMOVE node at top of tree. |
protected PlanNode |
CanonicalPlanner.attachLimits(QueryContext context,
PlanNode plan,
Limit limit)
Attach a LIMIT node at the top of the plan tree. |
protected PlanNode |
CanonicalPlanner.attachProject(QueryContext context,
PlanNode plan,
List<? extends Column> columns,
Map<SelectorName,Schemata.Table> selectors)
Attach a PROJECT node at the top of the plan tree. |
protected PlanNode |
CanonicalPlanner.attachSorting(QueryContext context,
PlanNode plan,
List<? extends Ordering> orderings)
Attach SORT node at top of tree. |
static PlanUtil.ColumnMapping |
PlanUtil.createMappingFor(Schemata.View view,
PlanNode viewPlan)
|
static PlanUtil.ColumnMapping |
PlanUtil.createMappingForAliased(SelectorName tableAlias,
Schemata.Table table,
PlanNode tableSourceNode)
|
static PlanUtil.ColumnMapping |
PlanUtil.createMappingForAliased(SelectorName viewAlias,
Schemata.View view,
PlanNode viewPlan)
|
void |
PlanNode.extractChild(PlanNode child)
Remove the child node from this node, and replace that child with its first child (if there is one). |
static List<Column> |
PlanUtil.findRequiredColumns(QueryContext context,
PlanNode planNode)
Collected the minimum set of columns from the supplied table that are required by or used within the plan at the supplied node or above. |
static List<String> |
PlanUtil.findRequiredColumnTypes(QueryContext context,
List<Column> columns,
PlanNode node)
|
LinkedList<PlanNode> |
PlanNode.getPathTo(PlanNode descendant)
Get the path from this node (inclusive) to the supplied descendant node (inclusive) |
void |
PlanNode.insertAsParent(PlanNode newParent)
Insert the supplied node into the plan node tree immediately above this node. |
boolean |
PlanNode.isAbove(PlanNode possibleDescendant)
Determine if the supplied node is a descendant of this node. |
boolean |
PlanNode.isBelow(PlanNode possibleAncestor)
Determine if the supplied node is an ancestor of this node. |
boolean |
PlanNode.isSameAs(PlanNode other)
Determine whether the supplied plan is equivalent to this plan. |
boolean |
PlanNode.removeChild(PlanNode child)
Remove the node from this node. |
boolean |
PlanNode.replaceChild(PlanNode child,
PlanNode replacement)
Replace the supplied child with another node. |
static Constraint |
PlanUtil.replaceReferences(QueryContext context,
Constraint constraint,
PlanUtil.ColumnMapping mapping,
PlanNode node)
|
static void |
PlanUtil.replaceReferencesToRemovedSource(QueryContext context,
PlanNode planNode,
Map<SelectorName,SelectorName> rewrittenSelectors)
|
static DynamicOperand |
PlanUtil.replaceViewReferences(QueryContext context,
DynamicOperand operand,
PlanUtil.ColumnMapping mapping,
PlanNode node)
|
static JoinCondition |
PlanUtil.replaceViewReferences(QueryContext context,
JoinCondition joinCondition,
PlanUtil.ColumnMapping mapping,
PlanNode node)
|
static void |
PlanUtil.replaceViewReferences(QueryContext context,
PlanNode topOfViewInPlan,
PlanUtil.ColumnMapping mappings)
|
protected static void |
PlanUtil.replaceViewReferences(QueryContext context,
PlanNode node,
PlanUtil.ColumnMapping mappings,
SelectorName viewName,
List<PlanNode> potentiallyRemovableSources)
|
void |
PlanNode.setParent(PlanNode parent)
Set the parent for this node. |
static void |
PlanUtil.setSelectorsOnSubplan(PlanNode subplan,
Set<SelectorName> selectors)
|
Method parameters in org.modeshape.graph.query.plan with type arguments of type PlanNode | |
---|---|
void |
PlanNode.addChildren(Iterable<PlanNode> otherChildren)
Add the supplied nodes at the end of the list of children. |
protected static void |
PlanUtil.replaceViewReferences(QueryContext context,
PlanNode node,
PlanUtil.ColumnMapping mappings,
SelectorName viewName,
List<PlanNode> potentiallyRemovableSources)
|
Constructors in org.modeshape.graph.query.plan with parameters of type PlanNode | |
---|---|
PlanNode(PlanNode.Type type,
PlanNode parent)
Create a new plan node with the supplied initial type ad that is a child of the supplied parent. |
|
PlanNode(PlanNode.Type type,
PlanNode parent,
Iterable<SelectorName> selectors)
Create a new plan node with the supplied initial type ad that is a child of the supplied parent. |
|
PlanNode(PlanNode.Type type,
PlanNode parent,
SelectorName... selectors)
Create a new plan node with the supplied initial type ad that is a child of the supplied parent. |
Uses of PlanNode in org.modeshape.graph.query.process |
---|
Fields in org.modeshape.graph.query.process declared as PlanNode | |
---|---|
protected PlanNode |
AbstractAccessComponent.accessNode
|
Methods in org.modeshape.graph.query.process with parameters of type PlanNode | |
---|---|
protected abstract ProcessingComponent |
QueryProcessor.createAccessComponent(QueryCommand originalQuery,
QueryContext context,
PlanNode accessNode,
QueryResults.Columns resultColumns,
SelectComponent.Analyzer analyzer)
Create the ProcessingComponent that processes a single PlanNode.Type.ACCESS branch of a query plan. |
protected QueryResults.Columns |
QueryProcessor.createColumnsFor(PlanNode node,
QueryResults.Columns projectedColumns)
|
protected ProcessingComponent |
QueryProcessor.createComponent(QueryCommand originalQuery,
QueryContext context,
PlanNode node,
QueryResults.Columns columns,
SelectComponent.Analyzer analyzer)
Method that is called to build up the ProcessingComponent objects that correspond to the optimized query plan. |
QueryResults |
QueryProcessor.execute(QueryContext context,
QueryCommand command,
QueryResults.Statistics statistics,
PlanNode plan)
Process the supplied query plan for the given command and return the results. |
QueryResults |
Processor.execute(QueryContext context,
QueryCommand command,
QueryResults.Statistics statistics,
PlanNode plan)
Process the supplied query plan for the given command and return the results. |
Constructors in org.modeshape.graph.query.process with parameters of type PlanNode | |
---|---|
AbstractAccessComponent(QueryContext context,
QueryResults.Columns columns,
PlanNode accessNode)
|
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |