Thread: pgsql: CREATE INDEX: use the original userid for more ACL checks.

pgsql: CREATE INDEX: use the original userid for more ACL checks.

From
Noah Misch
Date:
CREATE INDEX: use the original userid for more ACL checks.

Commit a117cebd638dd02e5c2e791c25e43745f233111b used the original userid
for ACL checks located directly in DefineIndex(), but it still adopted
the table owner userid for more ACL checks than intended.  That broke
dump/reload of indexes that refer to an operator class, collation, or
exclusion operator in a schema other than "public" or "pg_catalog".
Back-patch to v10 (all supported versions), like the earlier commit.

Nathan Bossart and Noah Misch

Discussion: https://postgr.es/m/f8a4105f076544c180a87ef0c4822352@stmuk.bayern.de

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/6d49cc28613b81c96f1c0e8891515e8f0aeafb61

Modified Files
--------------
contrib/citext/Makefile                      |  2 +-
contrib/citext/expected/create_index_acl.out | 81 ++++++++++++++++++++++++
contrib/citext/sql/create_index_acl.sql      | 82 ++++++++++++++++++++++++
src/backend/commands/indexcmds.c             | 94 ++++++++++++++++++++++++----
4 files changed, 245 insertions(+), 14 deletions(-)