Re: [HACKERS] PG10 Partitioned tables and relation_is_updatable()

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: [HACKERS] PG10 Partitioned tables and relation_is_updatable()
Дата
Msg-id b8fea30d-39fe-2bf9-b02e-23749746592d@joeconway.com
обсуждение исходный текст
Ответ на Re: [HACKERS] PG10 Partitioned tables and relation_is_updatable()  (Joe Conway <mail@joeconway.com>)
Ответы Re: [HACKERS] PG10 Partitioned tables and relation_is_updatable()  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Список pgsql-hackers
On 06/11/2017 08:55 AM, Joe Conway wrote:
> On 06/11/2017 04:32 AM, Dean Rasheed wrote:
>> 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.
>
>> 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.
>
> Yeah, I noticed the same while working on the RLS related patch. I did
> not see anything else in rewriteHandler.c but it is probably worth
> looking wider for other omissions.

So in particular:

src/include/utils/rel.h:318:
8<----------------------------
/** RelationIsUsedAsCatalogTable*    Returns whether the relation should be treated as a catalog table*    from the pov
oflogical decoding.  Note multiple eval of argument!*/ 
#define RelationIsUsedAsCatalogTable(relation)  \
((relation)->rd_options && \((relation)->rd_rel->relkind == RELKIND_RELATION || \ (relation)->rd_rel->relkind ==
RELKIND_MATVIEW)? \((StdRdOptions *) (relation)->rd_options)->user_catalog_table : false) 
8<----------------------------

Does RELKIND_PARTITIONED_TABLE apply there?

Will continue to poke around...

Joe

--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Joe Conway
Дата:
Сообщение: Re: [HACKERS] PG10 Partitioned tables and relation_is_updatable()
Следующее
От: Chapman Flack
Дата:
Сообщение: [HACKERS] regproc and when to schema-qualify