com.metamatrix.query.optimizer.relational.rules
Class RulePushNonJoinCriteria
java.lang.Object
com.metamatrix.query.optimizer.relational.rules.RulePushNonJoinCriteria
- All Implemented Interfaces:
- OptimizerRule
public final class RulePushNonJoinCriteria
- extends java.lang.Object
- implements OptimizerRule
Pushes on criteria out of the on clause if possible.
If the join no longer contains criteria, it will be changed into a cross join.
Upon a successful push, RulePushSelectCriteria will be run again.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
RulePushNonJoinCriteria
public RulePushNonJoinCriteria()
execute
public PlanNode execute(PlanNode plan,
QueryMetadataInterface metadata,
CapabilitiesFinder capFinder,
RuleStack rules,
AnalysisRecord analysisRecord,
CommandContext context)
throws QueryPlannerException,
QueryMetadataException,
MetaMatrixComponentException
- Execute the rule as described in the class comments.
- Specified by:
execute
in interface OptimizerRule
- Parameters:
plan
- Incoming query plan, may be modified during method and may be returned from methodmetadata
- Metadata sourcerules
- Rules from optimizer rule stack, may be manipulated during method
- Returns:
- Updated query plan if rule fired, else original query plan
- Throws:
QueryPlannerException
QueryMetadataException
MetaMatrixComponentException
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
Copyright © 2009. All Rights Reserved.