Fix superuser concurrent refresh of matview owned by another.

Use SECURITY_LOCAL_USERID_CHANGE while building temporary tables;
only escalate to SECURITY_RESTRICTED_OPERATION while potentially
running user-supplied code.  The more secure mode was preventing
temp table creation.  Add regression tests to cover this problem.

This fixes Bug #11208 reported by Bruno Emanuel de Andrade Silva.

Backpatch to 9.4, where the bug was introduced.

Branch
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/06414c0f68e9f8039c1de40d009f12fa96c49192

Modified Files
--------------
src/backend/commands/matview.c        |   93 ++++++++++++++++-----------------
src/test/regress/expected/matview.out |   12 +++++
src/test/regress/sql/matview.sql      |   13 +++++
3 files changed, 70 insertions(+), 48 deletions(-)


-- 
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to