Fix DROP OWNED BY to correctly consider the implicitly-deleted objects list for

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: df18c51f2955f6dc30027c91546a607abd699c40
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2006-08-20T21:56:16Z
Releases: 8.2.0
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.

Files

PathChange+/−
src/backend/catalog/dependency.c modified +220 −80
src/backend/catalog/pg_shdepend.c modified +34 −35
src/include/catalog/dependency.h modified +16 −1