CREATE INDEX: use the original userid for more ACL checks.
authorNoah Misch <noah@leadboat.com>
Sat, 25 Jun 2022 16:07:41 +0000 (09:07 -0700)
committerNoah Misch <noah@leadboat.com>
Sat, 25 Jun 2022 16:07:46 +0000 (09:07 -0700)
commit88b39e61486a8925a3861d50c306a51eaa1af8d6
tree99f9c87946efd5510e20e1cb516423e0c6959272
parent38790408b02083e00d0f01c28ac6a25d82c328cc
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
contrib/citext/Makefile
contrib/citext/expected/create_index_acl.out [new file with mode: 0644]
contrib/citext/sql/create_index_acl.sql [new file with mode: 0644]
src/backend/commands/indexcmds.c