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 int
DEFAULT_INDEPENDENT_CARDINALITY
static int
UNKNOWN_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 PlanNode
execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context)
static PlanNode
getDependentCriteriaNode(String id, List<Expression> independentExpressions, List<Expression> dependentExpressions, PlanNode indNode, QueryMetadataInterface metadata, NewCalculateCostUtil.DependentCostAnalysis dca, Boolean bound, Option.MakeDep makeDep)
static String
nextId()
String
toString()
-
-
-
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:
execute
in interfaceOptimizerRule
- Throws:
QueryPlannerException
QueryMetadataException
TeiidComponentException
-
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:
TeiidComponentException
QueryMetadataException
- Since:
- 4.3
-
-