Thread: pgsql: Track dependencies on shared objects (which is to say, roles; we
pgsql: Track dependencies on shared objects (which is to say, roles; we
From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message: ----------- 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. Modified Files: -------------- pgsql/doc/src/sgml: catalogs.sgml (r2.106 -> r2.107) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml.diff?r1=2.106&r2=2.107) pgsql/src/backend/catalog: Makefile (r1.54 -> r1.55) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/Makefile.diff?r1=1.54&r2=1.55) aclchk.c (r1.114 -> r1.115) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/aclchk.c.diff?r1=1.114&r2=1.115) dependency.c (r1.44 -> r1.45) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/dependency.c.diff?r1=1.44&r2=1.45) heap.c (r1.285 -> r1.286) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c.diff?r1=1.285&r2=1.286) pg_conversion.c (r1.24 -> r1.25) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_conversion.c.diff?r1=1.24&r2=1.25) pg_namespace.c (r1.14 -> r1.15) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_namespace.c.diff?r1=1.14&r2=1.15) pg_operator.c (r1.92 -> r1.93) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_operator.c.diff?r1=1.92&r2=1.93) pg_proc.c (r1.131 -> r1.132) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_proc.c.diff?r1=1.131&r2=1.132) pg_type.c (r1.101 -> r1.102) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_type.c.diff?r1=1.101&r2=1.102) pgsql/src/backend/commands: conversioncmds.c (r1.19 -> r1.20) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/conversioncmds.c.diff?r1=1.19&r2=1.20) dbcommands.c (r1.164 -> r1.165) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/dbcommands.c.diff?r1=1.164&r2=1.165) functioncmds.c (r1.62 -> r1.63) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/functioncmds.c.diff?r1=1.62&r2=1.63) opclasscmds.c (r1.33 -> r1.34) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/opclasscmds.c.diff?r1=1.33&r2=1.34) operatorcmds.c (r1.22 -> r1.23) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/operatorcmds.c.diff?r1=1.22&r2=1.23) schemacmds.c (r1.31 -> r1.32) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/schemacmds.c.diff?r1=1.31&r2=1.32) tablecmds.c (r1.162 -> r1.163) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c.diff?r1=1.162&r2=1.163) tablespace.c (r1.24 -> r1.25) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablespace.c.diff?r1=1.24&r2=1.25) typecmds.c (r1.73 -> r1.74) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/typecmds.c.diff?r1=1.73&r2=1.74) user.c (r1.155 -> r1.156) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/user.c.diff?r1=1.155&r2=1.156) pgsql/src/backend/utils/adt: acl.c (r1.117 -> r1.118) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/acl.c.diff?r1=1.117&r2=1.118) pgsql/src/bin/initdb: initdb.c (r1.90 -> r1.91) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/initdb/initdb.c.diff?r1=1.90&r2=1.91) pgsql/src/include/catalog: catversion.h (r1.284 -> r1.285) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.284&r2=1.285) dependency.h (r1.14 -> r1.15) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/dependency.h.diff?r1=1.14&r2=1.15) indexing.h (r1.88 -> r1.89) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/indexing.h.diff?r1=1.88&r2=1.89) pg_type.h (r1.162 -> r1.163) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type.h.diff?r1=1.162&r2=1.163) pgsql/src/include/utils: acl.h (r1.80 -> r1.81) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/acl.h.diff?r1=1.80&r2=1.81) pgsql/src/test/regress/expected: cluster.out (r1.16 -> r1.17) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/cluster.out.diff?r1=1.16&r2=1.17) privileges.out (r1.30 -> r1.31) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/privileges.out.diff?r1=1.30&r2=1.31) sanity_check.out (r1.26 -> r1.27) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/sanity_check.out.diff?r1=1.26&r2=1.27) pgsql/src/test/regress: parallel_schedule (r1.28 -> r1.29) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/parallel_schedule.diff?r1=1.28&r2=1.29) serial_schedule (r1.27 -> r1.28) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/serial_schedule.diff?r1=1.27&r2=1.28) pgsql/src/test/regress/sql: cluster.sql (r1.8 -> r1.9) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/cluster.sql.diff?r1=1.8&r2=1.9) privileges.sql (r1.15 -> r1.16) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/privileges.sql.diff?r1=1.15&r2=1.16) Added Files: ----------- pgsql/src/backend/catalog: pg_shdepend.c (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_shdepend.c?rev=1.1&content-type=text/x-cvsweb-markup) pgsql/src/include/catalog: pg_shdepend.h (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_shdepend.h?rev=1.1&content-type=text/x-cvsweb-markup) pgsql/src/test/regress/expected: dependency.out (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/dependency.out?rev=1.1&content-type=text/x-cvsweb-markup) pgsql/src/test/regress/sql: dependency.sql (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/dependency.sql?rev=1.1&content-type=text/x-cvsweb-markup)