Re: Identify missing publications from publisher while create/alter subscription. - Mailing list pgsql-hackers
From | vignesh C |
---|---|
Subject | Re: Identify missing publications from publisher while create/alter subscription. |
Date | |
Msg-id | CALDaNm0BSHdg=4Ek61rcufnSGBjhHFXJ2RL-3nNBsD2DAMvDCw@mail.gmail.com Whole thread Raw |
In response to | Re: Identify missing publications from publisher while create/alter subscription. (Japin Li <japinli@hotmail.com>) |
Responses |
Re: Identify missing publications from publisher while create/alter subscription.
Re: Identify missing publications from publisher while create/alter subscription. |
List | pgsql-hackers |
On Thu, May 6, 2021 at 9:08 AM Japin Li <japinli@hotmail.com> wrote: > > > On Tue, 04 May 2021 at 21:20, vignesh C <vignesh21@gmail.com> wrote: > > On Tue, May 4, 2021 at 2:37 PM Bharath Rupireddy > > <bharath.rupireddyforpostgres@gmail.com> wrote: > >> > >> On Mon, May 3, 2021 at 7:59 PM vignesh C <vignesh21@gmail.com> wrote: > >> > Thanks for the comments, these comments are handle in the v7 patch > >> > posted in my earlier mail. > >> > >> Thanks. Some comments on v7 patch: > >> > >> 1) How about "Add publication names from the list to a string." > >> instead of > >> * Append the list of publication to dest string. > >> > > > > Modified. > > > >> 2) How about "Connect to the publisher and see if the given > >> publication(s) is(are) present." > >> instead of > >> * Connect to the publisher and check if the publication(s) exist. > >> > > > > Modified. > > > >> 3) Below comments are unnecessary as the functions/code following them > >> will tell what the code does. > >> /* Verify specified publication(s) exist in the publisher. */ > >> /* We are done with the remote side, close connection. */ > >> > >> /* Verify specified publication(s) exist in the publisher. */ > >> PG_TRY(); > >> { > >> check_publications(wrconn, publications, true); > >> } > >> PG_FINALLY(); > >> { > >> /* We are done with the remote side, close connection. */ > >> walrcv_disconnect(wrconn); > >> } > >> > > > > Modified. > > > >> 4) And also the comment below that's there before check_publications > >> is unnecessary, as the function name and description would say it all. > >> /* Verify specified publication(s) exist in the publisher. */ > >> > > > > Modified. > > > >> 5) A typo - it is "do not exist" > >> # Multiple publications does not exist. > >> > > > > Modified. > > > >> 6) Should we use "m" specified in all the test cases something like we > >> do for $stderr =~ m/threads are not supported on this platform/ or > >> m/replication slot "test_slot" was not created in this database/? > >> $stderr =~ > >> /ERROR: publication "non_existent_pub" does not exist in the > >> publisher/, > > > > Modified. > > > > Thanks for the comments, Attached patch has the fixes for the same. > > Thanks for updating the patch. Some comments on v8 patch. > > 1) How about use appendStringInfoChar() to replace the first and last one, > since it more faster. > + appendStringInfoString(dest, "\""); > + appendStringInfoString(dest, pubname); > + appendStringInfoString(dest, "\""); Modified. > 2) How about use if (!validate_publication) to keep the code style consistent? > + if (validate_publication == false) > + return; Modified. > 3) Should we free the memory when finish the check_publications()? > + publicationsCopy = list_copy(publications); I felt this list entries will be deleted in the success case, in error case I felt no need to delete it as we will be exiting. Thoughts? > 4) It is better wrap the word "streaming" with quote. Also, should we add > 'no "validate_publication"' comment for validate_publication parameters? > NULL, NULL, /* no "binary" */ > - NULL, NULL); /* no streaming */ > + NULL, NULL, /* no streaming */ > + NULL, NULL); Modified. Thanks for the comments, attached v9 patch has the fixes for the same. Regards, Vignesh
Attachment
pgsql-hackers by date: