postgres.git / summary / log / commit / refs

commit    028b15405b4113e1b0f492bf9908d001a5983a77
Author:   Alexander Korotkov <akorotkov@postgresql.org>
Date:     Tue Jan 09 08:12:14 2024 +0000
First released in: 17.0

    An addition to 8c441c08279
    
    Given that now SJE doesn't work with result relation, turn a code dealing with
    that into an assert that it shouldn't happen.


src/backend/optimizer/plan/analyzejoins.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/backend/optimizer/plan/analyzejoins.c b/src/backend/optimizer/plan/analyzejoins.c index 1f2167a11de..8a2ccbb6047 100644 --- a/src/backend/optimizer/plan/analyzejoins.c +++ b/src/backend/optimizer/plan/analyzejoins.c @@ -1900,8 +1900,10 @@ remove_self_join_rel(PlannerInfo *root, PlanRowMark *kmark, PlanRowMark *rmark, /* Replace varno in all the query structures */ query_tree_walker(root->parse, replace_varno_walker, &ctx, QTW_EXAMINE_SORTGROUP); - if (root->parse->resultRelation == toRemove->relid) - root->parse->resultRelation = toKeep->relid; + + /* See remove_self_joins_one_group() */ + Assert(root->parse->resultRelation != toRemove->relid); + Assert(root->parse->resultRelation != toKeep->relid); /* Replace links in the planner info */ remove_rel_from_query(root, toRemove, toKeep->relid, NULL, NULL); [parent: 8c441c082797]