Refactor ownercheck functions

Peter Eisentraut <peter@eisentraut.org>

Commit: afbfc02983f86c4d71825efa6befd547fe81a926
Author: Peter Eisentraut <peter@eisentraut.org>
Date: 2022-11-13T07:12:37Z
Releases: 16.0
Refactor ownercheck functions

Instead of dozens of mostly-duplicate pg_foo_ownercheck() functions,
write one common function object_ownercheck() that can handle almost
all of them.  We already have all the information we need, such as
which system catalog corresponds to which catalog table and which
column is the owner column.

Reviewed-by: Corey Huinker <corey.huinker@gmail.com>
Reviewed-by: Antonin Houska <ah@cybertec.at>
Discussion: https://www.postgresql.org/message-id/flat/95c30f96-4060-2f48-98b5-a4392d3b6066@enterprisedb.com

Files

PathChange+/−
contrib/pg_surgery/heap_surgery.c modified +1 −1
src/backend/access/brin/brin.c modified +2 −2
src/backend/access/gin/ginfast.c modified +1 −1
src/backend/catalog/aclchk.c modified +50 −593
src/backend/catalog/namespace.c modified +1 −1
src/backend/catalog/objectaddress.c modified +21 −85
src/backend/catalog/pg_operator.c modified +3 −3
src/backend/catalog/pg_proc.c modified +1 −1
src/backend/commands/cluster.c modified +5 −4
src/backend/commands/collationcmds.c modified +1 −1
src/backend/commands/dbcommands.c modified +8 −8
src/backend/commands/dropcmds.c modified +2 −1
src/backend/commands/event_trigger.c modified +2 −2
src/backend/commands/extension.c modified +3 −3
src/backend/commands/foreigncmds.c modified +3 −3
src/backend/commands/functioncmds.c modified +6 −6
src/backend/commands/indexcmds.c modified +7 −5
src/backend/commands/opclasscmds.c modified +8 −8
src/backend/commands/operatorcmds.c modified +1 −1
src/backend/commands/policy.c modified +1 −1
src/backend/commands/proclang.c modified +1 −1
src/backend/commands/publicationcmds.c modified +3 −3
src/backend/commands/schemacmds.c modified +2 −2
src/backend/commands/statscmds.c modified +2 −2
src/backend/commands/subscriptioncmds.c modified +3 −3
src/backend/commands/tablecmds.c modified +11 −11
src/backend/commands/tablespace.c modified +3 −3
src/backend/commands/trigger.c modified +1 −1
src/backend/commands/tsearchcmds.c modified +2 −2
src/backend/commands/typecmds.c modified +14 −14
src/backend/commands/user.c modified +2 −2
src/backend/commands/vacuum.c modified +3 −3
src/backend/libpq/be-fsstubs.c modified +2 −1
src/backend/rewrite/rewriteDefine.c modified +3 −3
src/backend/utils/adt/ri_triggers.c modified +2 −2
src/backend/utils/misc/rls.c modified +1 −1
src/include/utils/acl.h modified +1 −22

Discussion