for (SubqueryContainer<?> subquery : subCommands) { if (subquery.getCommand().getProcessorPlan() instanceof RelationalPlan) { assignWithClause(((RelationalPlan)subquery.getCommand().getProcessorPlan()).getRootNode(), pushdownWith, repeated | (subquery.getCommand().getCorrelatedReferences() != null && !subquery.getCommand().getCorrelatedReferences().asMap().isEmpty())); if (subplans != null) { for (RelationalPlan subplan : subplans.values()) { assignWithClause(subplan.getRootNode(), pushdownWith, false); assignWithClause(children[i], pushdownWith, repeated);
for (SubqueryContainer<?> subquery : subCommands) { if (subquery.getCommand().getProcessorPlan() instanceof RelationalPlan) { assignWithClause(((RelationalPlan)subquery.getCommand().getProcessorPlan()).getRootNode(), pushdownWith, repeated | (subquery.getCommand().getCorrelatedReferences() != null && !subquery.getCommand().getCorrelatedReferences().asMap().isEmpty())); if (subplans != null) { for (RelationalPlan subplan : subplans.values()) { assignWithClause(subplan.getRootNode(), pushdownWith, false); assignWithClause(children[i], pushdownWith, repeated);
for (SubqueryContainer<?> subquery : subCommands) { if (subquery.getCommand().getProcessorPlan() instanceof RelationalPlan) { assignWithClause(((RelationalPlan)subquery.getCommand().getProcessorPlan()).getRootNode(), pushdownWith, repeated | (subquery.getCommand().getCorrelatedReferences() != null && !subquery.getCommand().getCorrelatedReferences().asMap().isEmpty())); if (subplans != null) { for (RelationalPlan subplan : subplans.values()) { assignWithClause(subplan.getRootNode(), pushdownWith, false); assignWithClause(children[i], pushdownWith, repeated);
assignWithClause(result.getRootNode(), this.withPlanningState.pushdownWith, false); if (wqc.isRecursive()) { SetQuery sq = (SetQuery)wqc.getCommand(); assignWithClause(((RelationalPlan)sq.getLeftQuery().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false); assignWithClause(((RelationalPlan)sq.getRightQuery().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false); } else { assignWithClause(((RelationalPlan)wqc.getCommand().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false);
assignWithClause(result.getRootNode(), this.withPlanningState.pushdownWith, false); if (wqc.isRecursive()) { SetQuery sq = (SetQuery)wqc.getCommand(); assignWithClause(((RelationalPlan)sq.getLeftQuery().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false); assignWithClause(((RelationalPlan)sq.getRightQuery().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false); } else { assignWithClause(((RelationalPlan)wqc.getCommand().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false);
assignWithClause(result.getRootNode(), this.withPlanningState.pushdownWith, false); if (wqc.isRecursive()) { SetQuery sq = (SetQuery)wqc.getCommand(); assignWithClause(((RelationalPlan)sq.getLeftQuery().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false); assignWithClause(((RelationalPlan)sq.getRightQuery().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false); } else { assignWithClause(((RelationalPlan)wqc.getCommand().getProcessorPlan()).getRootNode(), this.withPlanningState.pushdownWith, false);