From 16f5557fb08d0ce5f41d509ef3fb475a10eedb75 Mon Sep 17 00:00:00 2001
From: Shlok Kyal <shlok.kyal.oss@gmail.com>
Date: Mon, 10 Nov 2025 13:48:28 +0530
Subject: [PATCH v2] Remove unused n->pubobjects assignment for CREATE
 PUBLICATION .. ALL TABLES/SEQUENCES

For grammar: CREATE PUBLICATION name FOR pub_obj_type_list opt_definition
"n->pubobjects" is assigned but later in the code it is not used. It is
used in function "ObjectsInPublicationToOids" and we donot require it for
ALL TABLES or ALL SEQUENCES publication.
This patch removes the assignment of "n->pubobjects" for above grammar
and also renames 'pub_obj_type' to 'pub_all_obj_type' for better
clarity.
---
 src/backend/parser/gram.y | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 57fe0186547..c3a0a354a9c 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -453,7 +453,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
 				transform_element_list transform_type_list
 				TriggerTransitions TriggerReferencing
 				vacuum_relation_list opt_vacuum_relation_list
-				drop_option_list pub_obj_list pub_obj_type_list
+				drop_option_list pub_obj_list pub_all_obj_type_list
 
 %type <retclause> returning_clause
 %type <node>	returning_option
@@ -10731,9 +10731,9 @@ AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec
  *
  * CREATE PUBLICATION name [WITH options]
  *
- * CREATE PUBLICATION FOR ALL pub_obj_type [, ...] [WITH options]
+ * CREATE PUBLICATION FOR ALL pub_all_obj_type [, ...] [WITH options]
  *
- * pub_obj_type is one of:
+ * pub_all_obj_type is one of:
  *
  *		TABLES
  *		SEQUENCES
@@ -10756,12 +10756,11 @@ CreatePublicationStmt:
 					n->options = $4;
 					$$ = (Node *) n;
 				}
-			| CREATE PUBLICATION name FOR pub_obj_type_list opt_definition
+			| CREATE PUBLICATION name FOR pub_all_obj_type_list opt_definition
 				{
 					CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
 
 					n->pubname = $3;
-					n->pubobjects = (List *) $5;
 					preprocess_pub_all_objtype_list($5, &n->for_all_tables,
 													&n->for_all_sequences,
 													yyscanner);
@@ -10892,9 +10891,9 @@ PublicationAllObjSpec:
 					}
 					;
 
-pub_obj_type_list:	PublicationAllObjSpec
+pub_all_obj_type_list:	PublicationAllObjSpec
 					{ $$ = list_make1($1); }
-				| pub_obj_type_list ',' PublicationAllObjSpec
+				| pub_all_obj_type_list ',' PublicationAllObjSpec
 					{ $$ = lappend($1, $3); }
 	;
 
-- 
2.34.1

