mirror of
https://github.com/postgres/postgres.git
synced 2025-07-18 17:42:25 +03:00
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
This commit is contained in:
@ -1290,6 +1290,9 @@ ExecHashJoinGetSavedTuple(HashJoinState *hjstate,
|
||||
void
|
||||
ExecReScanHashJoin(HashJoinState *node)
|
||||
{
|
||||
PlanState *outerPlan = outerPlanState(node);
|
||||
PlanState *innerPlan = innerPlanState(node);
|
||||
|
||||
/*
|
||||
* In a multi-batch join, we currently have to do rescans the hard way,
|
||||
* primarily because batch temp files may have already been released. But
|
||||
@ -1300,7 +1303,7 @@ ExecReScanHashJoin(HashJoinState *node)
|
||||
if (node->hj_HashTable != NULL)
|
||||
{
|
||||
if (node->hj_HashTable->nbatch == 1 &&
|
||||
node->js.ps.righttree->chgParam == NULL)
|
||||
innerPlan->chgParam == NULL)
|
||||
{
|
||||
/*
|
||||
* Okay to reuse the hash table; needn't rescan inner, either.
|
||||
@ -1328,7 +1331,7 @@ ExecReScanHashJoin(HashJoinState *node)
|
||||
else
|
||||
{
|
||||
/* must destroy and rebuild hash table */
|
||||
HashState *hashNode = castNode(HashState, innerPlanState(node));
|
||||
HashState *hashNode = castNode(HashState, innerPlan);
|
||||
|
||||
Assert(hashNode->hashtable == node->hj_HashTable);
|
||||
/* accumulate stats from old hash table, if wanted */
|
||||
@ -1350,8 +1353,8 @@ ExecReScanHashJoin(HashJoinState *node)
|
||||
* if chgParam of subnode is not null then plan will be re-scanned
|
||||
* by first ExecProcNode.
|
||||
*/
|
||||
if (node->js.ps.righttree->chgParam == NULL)
|
||||
ExecReScan(node->js.ps.righttree);
|
||||
if (innerPlan->chgParam == NULL)
|
||||
ExecReScan(innerPlan);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1368,8 +1371,8 @@ ExecReScanHashJoin(HashJoinState *node)
|
||||
* if chgParam of subnode is not null then plan will be re-scanned by
|
||||
* first ExecProcNode.
|
||||
*/
|
||||
if (node->js.ps.lefttree->chgParam == NULL)
|
||||
ExecReScan(node->js.ps.lefttree);
|
||||
if (outerPlan->chgParam == NULL)
|
||||
ExecReScan(outerPlan);
|
||||
}
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user