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

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

public class RuleDecomposeJoin
extends java.lang.Object
implements OptimizerRule

Perform the optimization:

                  source
 inner join         union all
   source             inner join
     union all  =>      source
       a                  a
       b                source
   source                 c
     union all        inner join
       c                source
       d                  b
                        source
                          d
 
TODO: non-ansi joins


Constructor Summary
RuleDecomposeJoin()
           
 
Method Summary
 PlanNode decomposeJoin(PlanNode joinNode, PlanNode root, QueryMetadataInterface metadata, CommandContext context)
           
 PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capabilitiesFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RuleDecomposeJoin

public RuleDecomposeJoin()
Method Detail

execute

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

decomposeJoin

public PlanNode decomposeJoin(PlanNode joinNode,
                              PlanNode root,
                              QueryMetadataInterface metadata,
                              CommandContext context)
                       throws TeiidComponentException,
                              QueryPlannerException
Throws:
TeiidComponentException
QueryPlannerException

toString

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


Copyright © 2011. All Rights Reserved.