summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavan Deolasee2015-01-08 10:22:40 +0000
committerPavan Deolasee2015-04-15 05:49:15 +0000
commitcf322b25f6f8bdf8fc21c92a05b1569c6b99f568 (patch)
tree8a91e8351a3a0eec4c4ac18fa30700dbd61ec1a1
parent751bbb9bcc8581291b56e074f5068131be6ad195 (diff)
Don't walk down the subquery subplan to find a remote pushdown plan
-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,