Thread
-
Re: Logical Replication of sequences
Shlok Kyal <shlok.kyal.oss@gmail.com> — 2025-11-11T04:28:50Z
On Tue, 11 Nov 2025 at 09:02, Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Mon, Nov 10, 2025 at 4:22 PM vignesh C <vignesh21@gmail.com> wrote: > > > > On Mon, 10 Nov 2025 at 14:34, Shlok Kyal <shlok.kyal.oss@gmail.com> wrote: > > > > > > While working on another thread, I found that in HEAD gram.y has > > > grammar which was committed as part of this thread: > > > ``` > > > | CREATE PUBLICATION name FOR pub_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); > > > n->options = $6; > > > $$ = (Node *) n; > > > } > > > ``` > > > > > > Here we are assigning "n->pubobjects = (List *) $5". But later in the > > > code this is not used anywhere for ALL TABLES/ ALL SEQUENCES > > > publication. It is used for other publications (not ALL TABLES/ > > > SEQUENCES) inside function "ObjectsInPublicationToOids" > > > > > > So are we required to assign "n->pubobjects" here? > > > > > > I have created a patch to remove this assignment. It passed "make check-world". > > > > I agree that this is not required for ALL TABLES/ALL SEQUENCES cases. > > > > I also agree. BTW, can we change pub_obj_type_list to > pub_all_obj_type_list to be more explicit about this variant? If you > agree then we can make similar changes > (pub_obj_type->pub_all_obj_type) at the following places as well: > > + * CREATE PUBLICATION FOR ALL pub_obj_type [, ...] [WITH options] > + * > + * pub_obj_type is one of: > + * > Hi Vignesh, Amit Thanks for confirming. Also, I agree that the name 'pub_all_obj_type' will be more suitable. I have updated the patch for the same. Thanks, Shlok Kyal