Re: PG10 Partitioned tables and relation_is_updatable()
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
From: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Dean Rasheed <dean.a.rasheed@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2017-06-13T04:39:21Z
Lists: pgsql-hackers
On Mon, Jun 12, 2017 at 2:19 PM, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> wrote: >> On Sun, Jun 11, 2017 at 5:02 PM, Dean Rasheed <dean.a.rasheed@gmail.com> wrote: >>> Hi, >>> >>> It looks like relation_is_updatable() didn't get the message about >>> partitioned tables. Thus, for example, information_schema.views and >>> information_schema.columns report that simple views built on top of >>> partitioned tables are non-updatable, which is wrong. Attached is a >>> patch to fix this. > > Thanks for the patch, Dean. > >>> I think this kind of omission is an easy mistake to make when adding a >>> new relkind, so it might be worth having more pairs of eyes looking >>> out for more of the same. I did a quick scan of the rewriter code >>> (prompted by the recent similar omission for RLS on partitioned >>> tables) and I didn't find any more problems there, but I haven't >>> looked elsewhere yet. > > As he mentioned in his reply, Ashutosh's proposal to abstract away the > relkind checks is interesting in this regard. > > On 2017/06/12 17:29, Ashutosh Bapat wrote: >> Changes look good to me. In order to avoid such instances in future, I >> have proposed to bundle the conditions as macros in [1]. > > It seems that Ashutosh forgot to include the link: > > https://www.postgresql.org/message-id/CAFjFpRcfzs+yst6YBCseD_orEcDNuAr9GUTraZ5GC=AvCYh55Q@mail.gmail.com Sorry and thanks for providing the link. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company
Commits
-
Teach PL/pgSQL about partitioned tables.
- d3c3f2b1e25c 10.0 landed
-
Teach RemoveRoleFromObjectPolicy() about partitioned tables.
- f356ec57444e 10.0 landed
-
Teach relation_is_updatable() about partitioned tables.
- b6263cd851ef 10.0 landed