org.modeshape.graph.query.optimize
Class RemoveEmptyAccessNodes

java.lang.Object
  extended by org.modeshape.graph.query.optimize.RemoveEmptyAccessNodes
All Implemented Interfaces:
OptimizerRule

@Immutable
public class RemoveEmptyAccessNodes
extends Object
implements OptimizerRule

An optimizer rule that removes any ACCESS nodes that are known to never return any tuples because of conflicting constraints.


Field Summary
static RemoveEmptyAccessNodes INSTANCE
           
 
Constructor Summary
RemoveEmptyAccessNodes()
           
 
Method Summary
 PlanNode execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)
          Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final RemoveEmptyAccessNodes INSTANCE
Constructor Detail

RemoveEmptyAccessNodes

public RemoveEmptyAccessNodes()
Method Detail

execute

public PlanNode execute(QueryContext context,
                        PlanNode plan,
                        LinkedList<OptimizerRule> ruleStack)
Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules.

Specified by:
execute in interface OptimizerRule
Parameters:
context - the context in which the query is being optimized; never null
plan - the plan to be optimized; never null
ruleStack - the stack of rules that will be run after this rule; never null
Returns:
the optimized plan; never null
See Also:
OptimizerRule.execute(org.modeshape.graph.query.QueryContext, org.modeshape.graph.query.plan.PlanNode, java.util.LinkedList)


Copyright © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.