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_10_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/88b39e61486a8925a3861d50c306a51eaa1af8d6
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 | 92 ++++++++++++++++++++++++----
4 files changed, 244 insertions(+), 13 deletions(-)