Re: Added schema level support for publication.

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Greg Nancarrow <gregn4422@gmail.com>
Cc: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>, Rahila Syed <rahilasyed90@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Ajin Cherian <itsajin@gmail.com>
Date: 2021-06-24T18:17:44Z
Lists: pgsql-hackers
On Thu, Jun 24, 2021 at 2:12 PM Greg Nancarrow <gregn4422@gmail.com> wrote:
>
> On Thu, Jun 24, 2021 at 4:41 PM tanghy.fnst@fujitsu.com
> <tanghy.fnst@fujitsu.com> wrote:
> >
> > I applied your V7* patch and complied it. The following warnings came
out, please take a look.
> >
>
> I encountered the following warnings when building with the v7 patches
applied:
> (looks like missing #include "catalog/objectaddress.h")
>
> pg_prewarm.c:109:29: warning: implicit declaration of function
> ‘get_relkind_objtype’; did you mean ‘get_element_type’?
> [-Wimplicit-function-declaration]
>    aclcheck_error(aclresult,
> get_relkind_objtype(rel->rd_rel->relkind), get_rel_name(relOid));
>                              ^~~~~~~~~~~~~~~~~~~
>                              get_element_type
>
> heap_surgery.c:391:9: warning: implicit declaration of function
> ‘get_relkind_objtype’; did you mean ‘get_publication_type’?
> [-Wimplicit-function-declaration]
>          get_relkind_objtype(rel->rd_rel->relkind),
>          ^~~~~~~~~~~~~~~~~~~
>          get_publication_type
>
> pgrowlocks.c:136:29: warning: implicit declaration of function
> ‘get_relkind_objtype’ [-Wimplicit-function-declaration]
>    aclcheck_error(aclresult, get_relkind_objtype(rel->rd_rel->relkind),
>

Thanks for reporting these warnings, I have fixed this in the v8 patch
attached at [1].
[1] -
https://www.postgresql.org/message-id/CALDaNm044P_cds1OxZvFse5rE_qQfhbUg5MdtMgsa7t_bZGJdw%40mail.gmail.com

Regards,
Vignesh

Commits

  1. Include schema/table publications even with exclude options in dump.

  2. Rename some enums to use TABLE instead of REL.

  3. Add tap tests for the schema publications.

  4. Allow publishing the tables of schema.

  5. In pg_dump, use simplehash.h to look up dumpable objects by OID.