Re: Functions 'is_publishable_class' and 'is_publishable_relation' should stay together.

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Peter Smith <smithpb2250@gmail.com>, "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-07-30T11:24:36Z
Lists: pgsql-hackers

Attachments

On Fri, Jul 29, 2022 at 3:55 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Fri, Jul 29, 2022 at 3:29 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> >
> > Well, I checked the commit and the functions I was talking about look OK
> > now.  However, looking again, pg_relation_is_publishable is in the wrong
> > place (should be right below is_publishable_relaton), and I wonder why
> > aren't get_publication_oid and get_publication_name in lsyscache.c.
> >
>
> Right, both these suggestions make sense to me. Similarly, I think
> functions get_subscription_name and get_subscription_oid should also
> be moved to lsyscache.c.
>

Attached, find a patch to address the above comments.

Note that (a) I didn't change the comment atop
pg_relation_is_publishable to refer to the actual function name
instead of 'above' as it seems it can be an SQL variant for both the
above functions. (b) didn't need to include pg_publication.h in
lsyscache.c even after moving code to that file as the code is
compiled even without that.


-- 
With Regards,
Amit Kapila.

Commits

  1. Move common catalog cache access routines to lsyscache.c

  2. Move related functions next to each other in pg_publication.c.

  3. Allow publishing the tables of schema.

  4. Allow GRANT on pg_log_backend_memory_contexts().