@Override public PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capabilitiesFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context) throws QueryPlannerException, QueryMetadataException, TeiidComponentException { while (planLeftOuterJoinAssociativity(plan, metadata, capabilitiesFinder, analysisRecord, context)) { //repeat } return plan; }
@Override public PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capabilitiesFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context) throws QueryPlannerException, QueryMetadataException, TeiidComponentException { boolean beforeJoinPlanning = rules.contains(RuleConstants.PLAN_JOINS); while (beforeJoinPlanning? planLeftOuterJoinAssociativityBeforePlanning(plan, metadata, capabilitiesFinder, analysisRecord, context): planLeftOuterJoinAssociativity(plan, metadata, capabilitiesFinder, analysisRecord, context)) { //repeat } return plan; }
@Override public PlanNode execute(PlanNode plan, QueryMetadataInterface metadata, CapabilitiesFinder capabilitiesFinder, RuleStack rules, AnalysisRecord analysisRecord, CommandContext context) throws QueryPlannerException, QueryMetadataException, TeiidComponentException { boolean beforeJoinPlanning = rules.contains(RuleConstants.PLAN_JOINS); while (beforeJoinPlanning? planLeftOuterJoinAssociativityBeforePlanning(plan, metadata, capabilitiesFinder, analysisRecord, context): planLeftOuterJoinAssociativity(plan, metadata, capabilitiesFinder, analysisRecord, context)) { //repeat } return plan; }