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: "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>
Cc: Peter Smith <smithpb2250@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2022-08-03T04:52:07Z
Lists: pgsql-hackers
On Sat, Jul 30, 2022 at 6:59 PM houzj.fnst@fujitsu.com
<houzj.fnst@fujitsu.com> wrote:
>
> On Saturday, July 30, 2022 7:25 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
> >
> > 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.
>
> The patch LGTM. I also ran the headerscheck and didn't find any problem.
>

Thanks, I have pushed the patch.

-- 
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().