diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2020-10-14 11:41:40 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2020-10-14 11:41:40 +0300 |
commit | a04daa97a4339c38e304cd6164d37da540d665a8 (patch) | |
tree | fe77d311bc7aa4ad87db41730a3ba2cb7d1a5313 /src/backend/executor/execMain.c | |
parent | 178f2d560dde05b356ab2f586b8bc62514f454aa (diff) | |
download | postgresql-a04daa97a4339c38e304cd6164d37da540d665a8.tar.gz postgresql-a04daa97a4339c38e304cd6164d37da540d665a8.zip |
Remove es_result_relation_info from EState.
Maintaining 'es_result_relation_info' correctly at all times has become
cumbersome, especially with partitioning where each partition gets its
own result relation info. Having to set and reset it across arbitrary
operations has caused bugs in the past.
This changes all the places that used 'es_result_relation_info', to
receive the currently active ResultRelInfo via function parameters
instead.
Author: Amit Langote
Discussion: https://www.postgresql.org/message-id/CA%2BHiwqGEmiib8FLiHMhKB%2BCH5dRgHSLc5N5wnvc4kym%2BZYpQEQ%40mail.gmail.com
Diffstat (limited to 'src/backend/executor/execMain.c')
-rw-r--r-- | src/backend/executor/execMain.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 783eecbc133..293f53d07c9 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -827,9 +827,6 @@ InitPlan(QueryDesc *queryDesc, int eflags) estate->es_plannedstmt = plannedstmt; - /* es_result_relation_info is NULL except when within ModifyTable */ - estate->es_result_relation_info = NULL; - /* * Next, build the ExecRowMark array from the PlanRowMark(s), if any. */ @@ -2694,7 +2691,6 @@ EvalPlanQualStart(EPQState *epqstate, Plan *planTree) * subplans themselves are initialized. */ parentestate->es_result_relations = NULL; - /* es_result_relation_info must NOT be copied */ /* es_trig_target_relations must NOT be copied */ rcestate->es_top_eflags = parentestate->es_top_eflags; rcestate->es_instrument = parentestate->es_instrument; |