> On Aug 17, 2018, at 6:30 PM, Alvaro Herrera <alvhe...@2ndquadrant.com> wrote: > > On 2018-Aug-17, Jonathan S. Katz wrote: > >> Hi, >> >> I Initially pointed out here[1] that running REFRESH MATERIALIZED VIEW as a >> non-superuser or table owner yields the following message: >> >> test=> REFRESH MATERIALIZED VIEW blah; >> ERROR: must be owner of relation blah >> >> The error message should say "...owner of materialized view..." >> >> The attached patch corrects this by setting the "relkind" for the >> REFRESH MATERIALIZED VIEW command to be "OBJECT_MATVIEW" so that the aclcheck >> returns the appropriate error message. The updated patch can be tested as >> such: >> >> CREATE ROLE bar LOGIN; >> CREATE TABLE a (x int); >> CREATE MATERIALIZED VIEW b AS SELECT * FROM a; >> \c - bar >> REFRESH MATERIALIZED VIEW b; >> ERROR: must be owner of materialized view b >> >> I'm happy to generate the backpatches for it but wanted to receive feedback >> first. > > Maybe add your test to some regress/ file?
Done. Please see attached. > As it is cosmetic, my inclination would be not to backpatch it. It’s cosmetic, but it’s a cosmetic bug: it incorrectly tells the user that they must be the owner of the “relational” when in reality it’s the materialized view. Thanks, Jonathan
0001-Improve-error-messages-for-CREATE-OR-REPLACE-PROCEDU-v2.patch
Description: Binary data
signature.asc
Description: Message signed with OpenPGP