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)
PlanNode
execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context)
static void
separateCriteria(Collection<GroupSymbol> leftGroups, Collection<GroupSymbol> rightGroups, List<Expression> leftExpressions, List<Expression> rightExpressions, List<Criteria> crits, Collection<Criteria> nonEquiJoinCriteria)
String
toString()
-
-
-
Method Detail
-
execute
public PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context) throws QueryMetadataException, TeiidComponentException
- Specified by:
execute
in interfaceOptimizerRule
- Throws:
QueryMetadataException
TeiidComponentException
-
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)
-
-