summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/optimizer/plan/createplan.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index dd9755b05e..783b8015d1 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -1929,10 +1929,10 @@ find_push_down_plan_int(PlannerInfo *root, Plan *plan, bool force, Plan **parent
return find_push_down_plan_int(root, plan->lefttree, force, &plan->lefttree);
/*
- * If its a subquery scan then walk down the subplan to find a
- * RemoteSubplan
+ * If its a subquery scan and we are looking to replace RemoteSubplan then
+ * walk down the subplan to find a RemoteSubplan
*/
- if (IsA(plan, SubqueryScan))
+ if (parent && IsA(plan, SubqueryScan))
{
Plan *subplan = ((SubqueryScan *)plan)->subplan;
Plan *remote_plan = find_push_down_plan_int(root, ((SubqueryScan *)plan)->subplan, force,