Refactor ownercheck functions
commitafbfc02983f86c4d71825efa6befd547fe81a926
authorPeter Eisentraut <peter@eisentraut.org>
Sun, 13 Nov 2022 07:11:17 +0000 (13 08:11 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Sun, 13 Nov 2022 07:12:37 +0000 (13 08:12 +0100)
tree0cff343b85d5c01fb022e0433d89f5d350609fd4
parentb4b7ce8061d34cea2b4915c41403b2a74d5fde0e
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
37 files changed:
contrib/pg_surgery/heap_surgery.c
src/backend/access/brin/brin.c
src/backend/access/gin/ginfast.c
src/backend/catalog/aclchk.c
src/backend/catalog/namespace.c
src/backend/catalog/objectaddress.c
src/backend/catalog/pg_operator.c
src/backend/catalog/pg_proc.c
src/backend/commands/cluster.c
src/backend/commands/collationcmds.c
src/backend/commands/dbcommands.c
src/backend/commands/dropcmds.c
src/backend/commands/event_trigger.c
src/backend/commands/extension.c
src/backend/commands/foreigncmds.c
src/backend/commands/functioncmds.c
src/backend/commands/indexcmds.c
src/backend/commands/opclasscmds.c
src/backend/commands/operatorcmds.c
src/backend/commands/policy.c
src/backend/commands/proclang.c
src/backend/commands/publicationcmds.c
src/backend/commands/schemacmds.c
src/backend/commands/statscmds.c
src/backend/commands/subscriptioncmds.c
src/backend/commands/tablecmds.c
src/backend/commands/tablespace.c
src/backend/commands/trigger.c
src/backend/commands/tsearchcmds.c
src/backend/commands/typecmds.c
src/backend/commands/user.c
src/backend/commands/vacuum.c
src/backend/libpq/be-fsstubs.c
src/backend/rewrite/rewriteDefine.c
src/backend/utils/adt/ri_triggers.c
src/backend/utils/misc/rls.c
src/include/utils/acl.h