pgsql: Proper object locking for GRANT/REVOKE

Started by Peter Eisentrautover 1 year ago1 messagescomitters
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

Proper object locking for GRANT/REVOKE

Refactor objectNamesToOids() to use get_object_address() internally if
possible. Not only does this save a lot of code, it also allows us to
use the object locking provided by get_object_address() for
GRANT/REVOKE. There was previously a code comment that complained
about the lack of locking in objectNamesToOids(), which is now fixed.

The check in ExecGrant_Type_check() is obsolete because
get_object_address_type() already does the same check.

Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Discussion: /messages/by-id/bf72b82c-124d-4efa-a484-bb928e9494e4@eisentraut.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d31bbfb6590e586f731345960311861d5eb4c23f

Modified Files
--------------
src/backend/catalog/aclchk.c | 157 +++++----------------
.../isolation/expected/intra-grant-inplace.out | 2 +-
2 files changed, 39 insertions(+), 120 deletions(-)