diff options
| author | Pavan Deolasee | 2015-01-08 10:22:40 +0000 |
|---|---|---|
| committer | Pavan Deolasee | 2015-04-15 05:49:15 +0000 |
| commit | cf322b25f6f8bdf8fc21c92a05b1569c6b99f568 (patch) | |
| tree | 8a91e8351a3a0eec4c4ac18fa30700dbd61ec1a1 | |
| parent | 751bbb9bcc8581291b56e074f5068131be6ad195 (diff) | |
Don't walk down the subquery subplan to find a remote pushdown plan
| -rw-r--r-- | src/backend/optimizer/plan/createplan.c | 6 |
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, |
