OSDN Git Service

Fix DROP OWNED BY to correctly consider the implicitly-deleted objects list for
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Sun, 20 Aug 2006 21:56:16 +0000 (21:56 +0000)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Sun, 20 Aug 2006 21:56:16 +0000 (21:56 +0000)
commitdf18c51f2955f6dc30027c91546a607abd699c40
tree2e51ac170971b7f17189a82ba4b145373930c635
parent4e23d6e07ddb398a1654e60ec6fb908065b9e252
Fix DROP OWNED BY to correctly consider the implicitly-deleted objects list for
each object to be deleted, instead of the previous hack that just skipped
INTERNAL dependencies, which didn't really work.  Per report from Tom Lane.

To do this, introduce a new performMultipleDeletions entry point in
dependency.c to delete multiple objects at once.  The dependency code then has
the responsability of tracking INTERNAL and AUTO dependencies as needed.

Along the way, change ObjectAddresses so that we can allocate an ObjectAddress
list from outside dependency.c and not have to export the internal
representation.
src/backend/catalog/dependency.c
src/backend/catalog/pg_shdepend.c
src/include/catalog/dependency.h