Fix for REFRESH MATERIALIZED VIEW ownership error message - Mailing list pgsql-hackers

From Jonathan S. Katz
Subject Fix for REFRESH MATERIALIZED VIEW ownership error message
Date
Msg-id B611CA13-0AF0-4FD8-9A33-0CC44F3B861B@postgresql.org
Whole thread Raw
Responses Re: Fix for REFRESH MATERIALIZED VIEW ownership error message
List pgsql-hackers
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.

Thanks,

Jonathan

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] WIP: long transactions on hot standby feedback replica / proof of concept
Next
From: Tom Lane
Date:
Subject: Re: [PATCH] Improve geometric types