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(-)