Re: Fixing findDependentObjects()'s dependency on scan order (regressions in DROP diagnostic messages)
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Amit Langote <amitlangote09@gmail.com>, Peter Geoghegan <pg@bowt.ie>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2019-02-09T15:56:13Z
Lists: pgsql-hackers
Attachments
- fix-trigger-drop.patch (text/x-diff) patch
On 2019-Feb-09, Tom Lane wrote: > 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.) This patch I think does the right thing. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
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