Fix superuser concurrent refresh of matview owned by another.
Kevin Grittner <kgrittn@postgresql.org>
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.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/matview.c | modified | +45 −48 |
| src/test/regress/expected/matview.out | modified | +12 −0 |
| src/test/regress/sql/matview.sql | modified | +13 −0 |