diff options
author | Robert Haas <rhaas@postgresql.org> | 2015-05-04 16:13:07 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2015-05-04 16:17:36 -0400 |
commit | 40f42d2a34329b0b71a1287d6fd2554298dbb713 (patch) | |
tree | fb9a2cf0acfd47b94a2ff72f1757fd978353f1f6 /src/backend/executor/nodeSort.c | |
parent | 2503982be4ca48f48d2bb6e1d46160b23e4bb268 (diff) | |
download | postgresql-40f42d2a34329b0b71a1287d6fd2554298dbb713.tar.gz postgresql-40f42d2a34329b0b71a1287d6fd2554298dbb713.zip |
Use outerPlanState macro instead of referring to leffttree.
This makes the executor code more consistent. It also removes
an apparently superfluous NULL test in nodeGroup.c.
Qingqing Zhou, reviewed by Tom Lane, and further revised by me.
Diffstat (limited to 'src/backend/executor/nodeSort.c')
-rw-r--r-- | src/backend/executor/nodeSort.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/executor/nodeSort.c b/src/backend/executor/nodeSort.c index a815cde2ccf..732f3c38dbb 100644 --- a/src/backend/executor/nodeSort.c +++ b/src/backend/executor/nodeSort.c @@ -290,6 +290,8 @@ ExecSortRestrPos(SortState *node) void ExecReScanSort(SortState *node) { + PlanState *outerPlan = outerPlanState(node); + /* * If we haven't sorted yet, just return. If outerplan's chgParam is not * NULL then it will be re-scanned by ExecProcNode, else no reason to @@ -308,7 +310,7 @@ ExecReScanSort(SortState *node) * * Otherwise we can just rewind and rescan the sorted output. */ - if (node->ss.ps.lefttree->chgParam != NULL || + if (outerPlan->chgParam != NULL || node->bounded != node->bounded_Done || node->bound != node->bound_Done || !node->randomAccess) @@ -321,8 +323,8 @@ ExecReScanSort(SortState *node) * if chgParam of subnode is not null then plan will be re-scanned by * first ExecProcNode. */ - if (node->ss.ps.lefttree->chgParam == NULL) - ExecReScan(node->ss.ps.lefttree); + if (outerPlan->chgParam == NULL) + ExecReScan(outerPlan); } else tuplesort_rescan((Tuplesortstate *) node->tuplesortstate); |