aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeSetOp.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2022-07-07 11:23:40 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2022-07-07 11:23:40 -0400
commit88210542106de5b26fe6aa088d1811b68502d224 (patch)
tree8a77c331d7a9b3995ac0e0323803bb5e112f4e91 /src/backend/executor/nodeSetOp.c
parent62c46eee2279eb0300ab7ffe393d0d0dcfafb157 (diff)
downloadpostgresql-88210542106de5b26fe6aa088d1811b68502d224.tar.gz
postgresql-88210542106de5b26fe6aa088d1811b68502d224.zip
Remove stray references to lefttree/righttree in the executor.
The general convention in the executor is to refer to child plans and planstates via the outerPlan[State] and innerPlan[State] macros, but a few places didn't do it like that. For consistency and readability, convert all the stragglers to use the macros. (See also commit 40f42d2a3, which did some similar cleanup a few years ago, but missed these cases.) Richard Guo Discussion: https://postgr.es/m/CAMbWs4-vYhh1xsa_veah4PUed2Xq=Ed_YH3=Mqt5A3Y=EgfCEg@mail.gmail.com
Diffstat (limited to 'src/backend/executor/nodeSetOp.c')
-rw-r--r--src/backend/executor/nodeSetOp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/executor/nodeSetOp.c b/src/backend/executor/nodeSetOp.c
index 4b428cfa39f..8af12f96e72 100644
--- a/src/backend/executor/nodeSetOp.c
+++ b/src/backend/executor/nodeSetOp.c
@@ -597,6 +597,8 @@ ExecEndSetOp(SetOpState *node)
void
ExecReScanSetOp(SetOpState *node)
{
+ PlanState *outerPlan = outerPlanState(node);
+
ExecClearTuple(node->ps.ps_ResultTupleSlot);
node->setop_done = false;
node->numOutput = 0;
@@ -617,7 +619,7 @@ ExecReScanSetOp(SetOpState *node)
* parameter changes, then we can just rescan the existing hash table;
* no need to build it again.
*/
- if (node->ps.lefttree->chgParam == NULL)
+ if (outerPlan->chgParam == NULL)
{
ResetTupleHashIterator(node->hashtable, &node->hashiter);
return;
@@ -646,6 +648,6 @@ ExecReScanSetOp(SetOpState *node)
* if chgParam of subnode is not null then plan will be re-scanned by
* first ExecProcNode.
*/
- if (node->ps.lefttree->chgParam == NULL)
- ExecReScan(node->ps.lefttree);
+ if (outerPlan->chgParam == NULL)
+ ExecReScan(outerPlan);
}