Re: [GENERAL] Strange permission problem regarding pg_settings - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [GENERAL] Strange permission problem regarding pg_settings
Date
Msg-id 14122.1072563291@sss.pgh.pa.us
Whole thread Raw
In response to Re: [GENERAL] Strange permission problem regarding pg_settings  (Joe Conway <mail@joeconway.com>)
Responses Re: [GENERAL] Strange permission problem regarding pg_settings
List pgsql-hackers
Joe Conway <mail@joeconway.com> writes:
> Sorry if I'm being thick, but what of this?

This is exactly what I'm talking about.  The rtable for a query
generated by a rule is the concatenation of the original query's rtable
and the rule query's rtable.  Therefore the RTE for table1 appears
twice, once in the original INSERT query and once in the generated
UPDATE query (even though the UPDATE query does not actually use that
RTE in this case).  This would be okay if the RTE's write permission
flag were not context-dependent, but because it is, we have a problem.

The patch I put into 7.3.3 assumed that we could just suppress
permission checks on the copied RTEs, but if the original query is
getting dropped due to INSTEAD, we really need to carry out those
permission checks in the generated query --- there is no place else.
So AFAICS we must make the permission checks non-context-dependent.
        regards, tom lane


pgsql-hackers by date:

Previous
From: A E
Date:
Subject: Re: Error with returning SETOF Record
Next
From: Joe Conway
Date:
Subject: Re: [GENERAL] Strange permission problem regarding pg_settings