com.metamatrix.query.optimizer.relational.rules
Class RulePushNonJoinCriteria

java.lang.Object
  extended by 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.


Constructor Summary
RulePushNonJoinCriteria()
           
 
Method Summary
 PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context)
          Execute the rule as described in the class comments.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RulePushNonJoinCriteria

public RulePushNonJoinCriteria()
Method Detail

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 method
metadata - Metadata source
rules - 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.