Class RuleChooseDependent
- java.lang.Object
-
- org.teiid.query.optimizer.relational.rules.RuleChooseDependent
-
- All Implemented Interfaces:
OptimizerRule
public final class RuleChooseDependent extends Object implements OptimizerRule
Finds nodes that can be turned into dependent joins
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_INDEPENDENT_CARDINALITYstatic intUNKNOWN_INDEPENDENT_CARDINALITY
-
Constructor Summary
Constructors Constructor Description RuleChooseDependent()RuleChooseDependent(boolean b)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PlanNodeexecute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context)static PlanNodegetDependentCriteriaNode(String id, List<Expression> independentExpressions, List<Expression> dependentExpressions, PlanNode indNode, QueryMetadataInterface metadata, NewCalculateCostUtil.DependentCostAnalysis dca, Boolean bound, Option.MakeDep makeDep)static StringnextId()StringtoString()
-
-
-
Field Detail
-
DEFAULT_INDEPENDENT_CARDINALITY
public static final int DEFAULT_INDEPENDENT_CARDINALITY
-
UNKNOWN_INDEPENDENT_CARDINALITY
public static final int UNKNOWN_INDEPENDENT_CARDINALITY
- See Also:
- Constant Field Values
-
-
Method Detail
-
execute
public PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context) throws QueryPlannerException, QueryMetadataException, TeiidComponentException
- Specified by:
executein interfaceOptimizerRule- Throws:
QueryPlannerExceptionQueryMetadataExceptionTeiidComponentException
-
nextId
public static String nextId()
-
getDependentCriteriaNode
public static PlanNode getDependentCriteriaNode(String id, List<Expression> independentExpressions, List<Expression> dependentExpressions, PlanNode indNode, QueryMetadataInterface metadata, NewCalculateCostUtil.DependentCostAnalysis dca, Boolean bound, Option.MakeDep makeDep) throws QueryMetadataException, TeiidComponentException
- Parameters:
independentExpressions-dependentExpressions-makeDep-- Returns:
- Throws:
TeiidComponentExceptionQueryMetadataException- Since:
- 4.3
-
-