Track dependencies on shared objects (which is to say, roles; we already

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 59d1b3d99e690734fa2a2bd0fae12b0cb1084294
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2005-07-07T20:40:02Z
Releases: 8.1.0
Track dependencies on shared objects (which is to say, roles; we already
have adequate mechanisms for tracking the contents of databases and
tablespaces).  This solves the longstanding problem that you can drop a
user who still owns objects and/or has access permissions.
Alvaro Herrera, with some kibitzing from Tom Lane.

Files

PathChange+/−
doc/src/sgml/catalogs.sgml modified +157 −3
src/backend/catalog/aclchk.c modified +118 −9
src/backend/catalog/dependency.c modified +58 −1
src/backend/catalog/heap.c modified +5 −1
src/backend/catalog/Makefile modified +4 −3
src/backend/catalog/pg_conversion.c modified +5 −1
src/backend/catalog/pg_namespace.c modified +5 −1
src/backend/catalog/pg_operator.c modified +6 −1
src/backend/catalog/pg_proc.c modified +7 −1
src/backend/catalog/pg_shdepend.c added +1042 −0
src/backend/catalog/pg_type.c modified +11 −2
src/backend/commands/conversioncmds.c modified +6 −1
src/backend/commands/dbcommands.c modified +17 −1
src/backend/commands/functioncmds.c modified +4 −1
src/backend/commands/opclasscmds.c modified +7 −1
src/backend/commands/operatorcmds.c modified +4 −1
src/backend/commands/schemacmds.c modified +5 −1
src/backend/commands/tablecmds.c modified +4 −1
src/backend/commands/tablespace.c modified +9 −1
src/backend/commands/typecmds.c modified +5 −1
src/backend/commands/user.c modified +14 −40
src/backend/utils/adt/acl.c modified +82 −1
src/bin/initdb/initdb.c modified +9 −2
src/include/catalog/catversion.h modified +2 −2
src/include/catalog/dependency.h modified +64 −2
src/include/catalog/indexing.h modified +8 −1
src/include/catalog/pg_shdepend.h added +91 −0
src/include/catalog/pg_type.h modified +2 −1
src/include/utils/acl.h modified +2 −1
src/test/regress/expected/cluster.out modified +1 −0
src/test/regress/expected/dependency.out added +39 −0
src/test/regress/expected/privileges.out modified +1 −0
src/test/regress/expected/sanity_check.out modified +2 −1
src/test/regress/parallel_schedule modified +1 −1
src/test/regress/serial_schedule modified +2 −1
src/test/regress/sql/cluster.sql modified +1 −0
src/test/regress/sql/dependency.sql added +41 −0
src/test/regress/sql/privileges.sql modified +1 −0