Re: Fixing findDependentObjects()'s dependency on scan order (regressions in DROP diagnostic messages)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Amit Langote <amitlangote09@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Peter Geoghegan <pg@bowt.ie>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2019-02-09T07:26:00Z
Lists: pgsql-hackers
Amit Langote <amitlangote09@gmail.com> writes: > On Sat, Feb 9, 2019 at 9:41 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> +1. The best solution would presumably be to go through the normal >> object deletion mechanism; though possibly there's a reason that >> won't work given you're already inside some other DDL. > Maybe: > - CatalogTupleDelete(trigrel, &trigtup->t_self); > + RemoveTriggerById(trgform->oid)? No, that's still the back end of the deletion machinery, and in particular it would fail to clean pg_depend entries for the trigger. Going in by the front door would use performDeletion(). (See deleteOneObject() to get an idea of what's being possibly missed out here.) regards, tom lane
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