Re: Fixing findDependentObjects()'s dependency on scan order (regressions in DROP diagnostic messages)
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-12-18T18:34:17Z
Lists: pgsql-hackers
On Tue, Dec 18, 2018 at 10:07 AM Alvaro Herrera <alvherre@2ndquadrant.com> wrote: > Is there any case of this that doesn't involve DEPENDENCY_INTERNAL_AUTO > entries? I wonder if I just haven't broken the algorithm when > introducing that, and I worry that we're adding a complicated kludge to > paper over that problem. Maybe instead of the depcreate contortions we > need to adjust the algorithm to deal with INTERNAL_AUTO objects in a > different way. Well, you also have cases like this: --- a/contrib/earthdistance/expected/earthdistance.out +++ b/contrib/earthdistance/expected/earthdistance.out @@ -972,7 +972,7 @@ SELECT abs(cube_distance(ll_to_earth(-30,-90), '(0)'::cube) / earth() - 1) < drop extension cube; -- fail, earthdistance requires it ERROR: cannot drop extension cube because other objects depend on it -DETAIL: extension earthdistance depends on extension cube +DETAIL: extension earthdistance depends on function cube_out(cube) This is a further example of "wrong, not just annoying". Technically this is a broader problem than DEPENDENCY_INTERNAL_AUTO, I think, though perhaps not too much broader. -- Peter Geoghegan
Commits
-
Redesign the partition dependency mechanism.
- 1d92a0c9f7dd 12.0 landed
-
Fix trigger drop procedure
- cc126b45ea5c 11.2 landed
- cb90de1aac18 12.0 landed
-
Sort the dependent objects before recursing in findDependentObjects().
- f1ad067fc3ae 12.0 landed
-
Avoid sometimes printing both tables and their columns in DROP CASCADE.
- 9194c4270b28 12.0 landed