Proper object locking for GRANT/REVOKE
authorPeter Eisentraut <peter@eisentraut.org>
Fri, 15 Nov 2024 09:53:54 +0000 (10:53 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Fri, 15 Nov 2024 10:03:48 +0000 (11:03 +0100)
commitd31bbfb6590e586f731345960311861d5eb4c23f
treedaf707be4a1b020d8a537047e0968dbac83ae8e1
parentcfd7f36c83cdcf6322c7ea0d1d9ef62bc2b00375
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: https://www.postgresql.org/message-id/flat/bf72b82c-124d-4efa-a484-bb928e9494e4@eisentraut.org
src/backend/catalog/aclchk.c
src/test/isolation/expected/intra-grant-inplace.out