On Tues, May 17, 2022 9:03 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > On Fri, May 13, 2022 at 3:11 PM wangw.f...@fujitsu.com > <wangw.f...@fujitsu.com> wrote: > > > > Attach the patches.(Only changed the patch for HEAD.). > > Thanks for your comments.
> # publications > -{ oid => '6119', descr => 'get OIDs of tables in a publication', > +{ oid => '6119', descr => 'get OIDs of tables in one or more publications', > proname => 'pg_get_publication_tables', prorows => '1000', proretset => > 't', > - provolatile => 's', prorettype => 'oid', proargtypes => 'text', > - proallargtypes => '{text,oid}', proargmodes => '{i,o}', > + provolatile => 's', prorettype => 'oid', proargtypes => 'any', > + proallargtypes => '{any,oid}', proargmodes => '{i,o}', > > Won't our use case (input one or more publication names) requires the > parameter type to be 'VARIADIC text[]' instead of 'any'? I might be > missing something here so please let me know your reason to change the > type to 'any' from 'text'? Yes, you are right. I improve the approach according to your suggestion. I didn't notice the field "provariadic" in pg_proc before. And now I found we could change the type of input from text to variadic text by specifying fields "provariadic" and specifying 'v' in "proargmodes". I also make corresponding changes to the processing of the input in function pg_get_publication_tables. BTW, in previous patch HEAD_v4, when invoke function GetPublicationByName in function pg_get_publication_tables, I changed the second input from "false" to "true". I changed this because when we invoke function pg_get_publication_tables in the query in function fetch_table_list, if the publication does not exist, it will error. But this change will affect the compatibility of function pg_get_publication_tables. So I revert this change in HEAD_v5, and filter the publications that do not exist by the query in function fetch_table_list. Attach the patches.(Only changed the patch for HEAD.) 1. Improve the approach to modify the input type of the function pg_get_publication_tables. [suggestions by Amit-san] 2. Free allocated memory in function fetch_table_list. [suggestions by Osumi-san] 3. Improve the approach of the handling of non-existing publications. BTW, I rename the patch for REL14 from "REL14_v4-0001-Fix-data-replicated-twice-when-specifying-PUBLISH.patch" to "REL14_v5-0001-Fix-data-replicated-twice-when-specifying-PUBLISH_patch". Just for the version doesn't mess up between two branches and for cfbot. Regards, Wang wei
HEAD_v5-0001-Fix-data-replicated-twice-when-specifying-PUBLISH.patch
Description: HEAD_v5-0001-Fix-data-replicated-twice-when-specifying-PUBLISH.patch
REL14_v5-0001-Fix-data-replicated-twice-when-specifying-PUBLISH_patch
Description: REL14_v5-0001-Fix-data-replicated-twice-when-specifying-PUBLISH_patch