org.teiid.query.optimizer.relational.rules
Class RuleChooseJoinStrategy
java.lang.Object
org.teiid.query.optimizer.relational.rules.RuleChooseJoinStrategy
- All Implemented Interfaces:
- OptimizerRule
public class RuleChooseJoinStrategy
- extends java.lang.Object
- implements OptimizerRule
Marks join as a candidate merge join if conditions are met
|
Method Summary |
static java.util.List<SingleElementSymbol> |
createExpressionSymbols(java.util.List<? extends Expression> expressions)
|
PlanNode |
execute(PlanNode plan,
QueryMetadataInterface metadata,
CapabilitiesFinder capFinder,
RuleStack rules,
AnalysisRecord analysisRecord,
CommandContext context)
|
static void |
separateCriteria(java.util.Collection<GroupSymbol> leftGroups,
java.util.Collection<GroupSymbol> rightGroups,
java.util.List<Expression> leftExpressions,
java.util.List<Expression> rightExpressions,
java.util.List<Criteria> crits,
java.util.List<Criteria> nonEquiJoinCriteria)
|
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
RuleChooseJoinStrategy
public RuleChooseJoinStrategy()
execute
public PlanNode execute(PlanNode plan,
QueryMetadataInterface metadata,
CapabilitiesFinder capFinder,
RuleStack rules,
AnalysisRecord analysisRecord,
CommandContext context)
throws QueryMetadataException,
TeiidComponentException
- Specified by:
execute in interface OptimizerRule
- Throws:
QueryMetadataException
TeiidComponentException
separateCriteria
public static void separateCriteria(java.util.Collection<GroupSymbol> leftGroups,
java.util.Collection<GroupSymbol> rightGroups,
java.util.List<Expression> leftExpressions,
java.util.List<Expression> rightExpressions,
java.util.List<Criteria> crits,
java.util.List<Criteria> nonEquiJoinCriteria)
createExpressionSymbols
public static java.util.List<SingleElementSymbol> createExpressionSymbols(java.util.List<? extends Expression> expressions)
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
Copyright © 2011. All Rights Reserved.