Fix GRANTED BY support in REVOKE ROLE statements
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Fri, 26 Nov 2021 13:02:01 +0000 (14:02 +0100)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Fri, 26 Nov 2021 13:02:01 +0000 (14:02 +0100)
commitb2a459edfe645747744402f23de041e9c0a3cd93
tree9dc7046907d64ed2e3c896bbf668a40c443544e3
parent36cb5e7c512bef394c9288786c62ef0eb1e891ba
Fix GRANTED BY support in REVOKE ROLE statements

Commit 6aaaa76bb added support for the GRANTED BY clause in GRANT and
REVOKE statements, but missed adding support for checking the role in
the REVOKE ROLE case. Fix by checking that the parsed role matches the
CURRENT_ROLE/CURRENT_USER requirement, and also add some tests for it.
Backpatch to v14 where GRANTED BY support was introduced.

Discussion: https://postgr.es/m/B7F6699A-A984-4943-B9BF-CEB84C003527@yesql.se
Backpatch-through: 14
src/backend/commands/user.c
src/backend/parser/gram.y
src/test/regress/expected/privileges.out
src/test/regress/sql/privileges.sql