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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/00377b9a02b89a831ae50e1c718d34565356698f

Modified Files
--------------
contrib/citext/Makefile                      |  2 +-
contrib/citext/expected/create_index_acl.out | 86 +++++++++++++++++++++++++
contrib/citext/sql/create_index_acl.sql      | 88 +++++++++++++++++++++++++
src/backend/commands/indexcmds.c             | 96 +++++++++++++++++++++++-----
4 files changed, 256 insertions(+), 16 deletions(-)