Class RuleChooseJoinStrategy
- java.lang.Object
-
- org.teiid.query.optimizer.relational.rules.RuleChooseJoinStrategy
-
- All Implemented Interfaces:
OptimizerRule
public class RuleChooseJoinStrategy extends Object implements OptimizerRule
Marks join as a candidate merge join if conditions are met
-
-
Constructor Summary
Constructors Constructor Description RuleChooseJoinStrategy()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static List<Expression>createExpressionSymbols(List<? extends Expression> expressions)PlanNodeexecute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context)static voidseparateCriteria(Collection<GroupSymbol> leftGroups, Collection<GroupSymbol> rightGroups, List<Expression> leftExpressions, List<Expression> rightExpressions, List<Criteria> crits, Collection<Criteria> nonEquiJoinCriteria)StringtoString()
-
-
-
Method Detail
-
execute
public PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context) throws QueryMetadataException, TeiidComponentException
- Specified by:
executein interfaceOptimizerRule- Throws:
QueryMetadataExceptionTeiidComponentException
-
separateCriteria
public static void separateCriteria(Collection<GroupSymbol> leftGroups, Collection<GroupSymbol> rightGroups, List<Expression> leftExpressions, List<Expression> rightExpressions, List<Criteria> crits, Collection<Criteria> nonEquiJoinCriteria)
-
createExpressionSymbols
public static List<Expression> createExpressionSymbols(List<? extends Expression> expressions)
-
-