From e72960487aa269f3d400a7b6149eb22c08a2ebef Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Mon, 8 Dec 2025 13:55:55 -0500 Subject: [PATCH v1 2/2] Remove glob->subplanNames. glob->allroots is sufficient; we don't need both. --- src/backend/optimizer/plan/planner.c | 18 ------------------ src/include/nodes/pathnodes.h | 3 --- 2 files changed, 21 deletions(-) diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 47b32b20e1a..ccf1aad98c0 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -8963,26 +8963,12 @@ create_partial_unique_paths(PlannerInfo *root, RelOptInfo *input_rel, /* * Choose a unique name for some subroot. - * - * Modifies glob->subplanNames to track names already used. */ char * choose_plan_name(PlannerGlobal *glob, const char *name, bool always_number) { unsigned n; -#ifdef USE_ASSERT_CHECKING - Assert(list_length(glob->allroots) == list_length(glob->subplanNames) + 1); - foreach_ptr(char, subplan_name, glob->subplanNames) - { - PlannerInfo *subroot; - - subroot = list_nth(glob->allroots, - foreach_current_index(subplan_name) + 1); - Assert(strcmp(subroot->plan_name, subplan_name) == 0); - } -#endif - /* * If a numeric suffix is not required, then search the list of * previously-assigned names for a match. If none is found, then we can @@ -9007,7 +8993,6 @@ choose_plan_name(PlannerGlobal *glob, const char *name, bool always_number) /* pstrdup here is just to avoid cast-away-const */ char *chosen_name = pstrdup(name); - glob->subplanNames = lappend(glob->subplanNames, chosen_name); return chosen_name; } } @@ -9033,10 +9018,7 @@ choose_plan_name(PlannerGlobal *glob, const char *name, bool always_number) } if (!found) - { - glob->subplanNames = lappend(glob->subplanNames, proposed_name); return proposed_name; - } pfree(proposed_name); } diff --git a/src/include/nodes/pathnodes.h b/src/include/nodes/pathnodes.h index 2707ca50019..103186a2f97 100644 --- a/src/include/nodes/pathnodes.h +++ b/src/include/nodes/pathnodes.h @@ -113,9 +113,6 @@ typedef struct PlannerGlobal /* every non-transient PlannerInfo (superset of subroots) */ List *allroots pg_node_attr(read_write_ignore); - /* names already used for subplans (list of C strings) */ - List *subplanNames pg_node_attr(read_write_ignore); - /* indices of subplans that require REWIND */ Bitmapset *rewindPlanIDs; -- 2.51.0