org.teiid.query.optimizer.relational.rules
Class RuleMergeCriteria

java.lang.Object
  extended by org.teiid.query.optimizer.relational.rules.RuleMergeCriteria
All Implemented Interfaces:
OptimizerRule

public final class RuleMergeCriteria
extends java.lang.Object
implements OptimizerRule


Nested Class Summary
static class RuleMergeCriteria.PlannedResult
           
protected static class RuleMergeCriteria.ReferenceReplacementVisitor
          Used to replace correlated references
 
Field Summary
static java.lang.String UNNEST_DEFAULT
           
 
Constructor Summary
RuleMergeCriteria(IDGenerator idGenerator, CapabilitiesFinder capFinder, AnalysisRecord analysisRecord, CommandContext context, QueryMetadataInterface metadata)
           
 
Method Summary
 PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context)
           
 RuleMergeCriteria.PlannedResult findSubquery(Criteria crit)
           
static boolean isDistinct(Query query, java.util.List<SingleElementSymbol> expressions, QueryMetadataInterface metadata)
           
 boolean planQuery(java.util.Collection<GroupSymbol> leftGroups, boolean requireDistinct, RuleMergeCriteria.PlannedResult plannedResult)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

UNNEST_DEFAULT

public static final java.lang.String UNNEST_DEFAULT
See Also:
Constant Field Values
Constructor Detail

RuleMergeCriteria

public RuleMergeCriteria(IDGenerator idGenerator,
                         CapabilitiesFinder capFinder,
                         AnalysisRecord analysisRecord,
                         CommandContext context,
                         QueryMetadataInterface metadata)
Method Detail

execute

public PlanNode execute(PlanNode plan,
                        QueryMetadataInterface metadata,
                        CapabilitiesFinder capFinder,
                        RuleStack rules,
                        AnalysisRecord analysisRecord,
                        CommandContext context)
                 throws QueryPlannerException,
                        TeiidComponentException
Specified by:
execute in interface OptimizerRule
Throws:
QueryPlannerException
TeiidComponentException
See Also:
OptimizerRule#execute(PlanNode, QueryMetadataInterface, RuleStack)

findSubquery

public RuleMergeCriteria.PlannedResult findSubquery(Criteria crit)
                                             throws TeiidComponentException,
                                                    QueryMetadataException
Throws:
TeiidComponentException
QueryMetadataException

planQuery

public boolean planQuery(java.util.Collection<GroupSymbol> leftGroups,
                         boolean requireDistinct,
                         RuleMergeCriteria.PlannedResult plannedResult)
                  throws QueryMetadataException,
                         TeiidComponentException
Throws:
QueryMetadataException
TeiidComponentException

isDistinct

public static boolean isDistinct(Query query,
                                 java.util.List<SingleElementSymbol> expressions,
                                 QueryMetadataInterface metadata)
                          throws QueryMetadataException,
                                 TeiidComponentException
Throws:
QueryMetadataException
TeiidComponentException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2011. All Rights Reserved.