diff --git a/src/backend/distributed/planner/recursive_planning.c b/src/backend/distributed/planner/recursive_planning.c index 73d36bb5a..b0f765e71 100644 --- a/src/backend/distributed/planner/recursive_planning.c +++ b/src/backend/distributed/planner/recursive_planning.c @@ -140,17 +140,6 @@ RecursivelyPlanSubqueriesAndCTEs(Query *query, DeferredErrorMessage *error = NULL; RecursivePlanningContext context; - context.level = 0; - context.planId = planId; - context.subPlanList = NIL; - context.plannerRestrictionContext = plannerRestrictionContext; - - error = RecursivelyPlanCTEs(query, &context); - if (error != NULL) - { - return error; - } - if (SubqueryPushdown) { /* @@ -166,6 +155,17 @@ RecursivelyPlanSubqueriesAndCTEs(Query *query, return NULL; } + context.level = 0; + context.planId = planId; + context.subPlanList = NIL; + context.plannerRestrictionContext = plannerRestrictionContext; + + error = RecursivelyPlanCTEs(query, &context); + if (error != NULL) + { + return error; + } + /* XXX: plan subqueries */ *subPlanList = context.subPlanList;