]> granicus.if.org Git - postgresql/commit
Refactor the handling of the various DropStmt variants so that when multiple
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 14 Jun 2008 18:04:34 +0000 (18:04 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 14 Jun 2008 18:04:34 +0000 (18:04 +0000)
commit0cefb50f3ce964d6097aad64dabd9b544c3d2e68
tree4e1ee9454bc958d35194062eee8894205cd08da5
parent95ce4ee943f226152ac8c147da178af5d1a95909
Refactor the handling of the various DropStmt variants so that when multiple
objects are specified, we drop them all in a single performMultipleDeletions
call.  This makes the RESTRICT/CASCADE checks more relaxed: it's not counted
as a cascade if one of the later objects has a dependency on an earlier one.
NOTICE messages about such cases go away, too.

In passing, fix the permissions check for DROP CONVERSION, which for some
reason was never made role-aware, and omitted the namespace-owner exemption
too.

Alex Hunsaker, with further fiddling by me.
20 files changed:
src/backend/catalog/dependency.c
src/backend/catalog/pg_conversion.c
src/backend/commands/conversioncmds.c
src/backend/commands/indexcmds.c
src/backend/commands/schemacmds.c
src/backend/commands/tablecmds.c
src/backend/commands/tsearchcmds.c
src/backend/commands/typecmds.c
src/backend/commands/view.c
src/backend/tcop/utility.c
src/include/catalog/pg_conversion_fn.h
src/include/commands/conversioncmds.h
src/include/commands/defrem.h
src/include/commands/schemacmds.h
src/include/commands/tablecmds.h
src/include/commands/typecmds.h
src/include/commands/view.h
src/test/regress/expected/foreign_key.out
src/test/regress/expected/truncate.out
src/test/regress/sql/foreign_key.sql