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: Peter Geoghegan <pg@bowt.ie>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2019-02-08T20:19:25Z
Lists: pgsql-hackers
On 2019-Feb-08, Tom Lane wrote:

> Also, I came across some coding in CloneFkReferencing() that looks fishy
> as hell: that function imagines that it can delete an existing trigger
> with nothing more than a summary CatalogTupleDelete().  I didn't do
> anything about that here, but if it's not broken, I'd like to see an
> explanation why not.  I added a comment complaining about the lack of
> pg_depend cleanup, and there's also the question of whether we don't
> need to broadcast a relcache inval for the trigger's table.

Oops, this is new code in 0464fdf07f69 (Jan 21st).  Unless you object,
I'll study a fix for this now, to avoid letting it appear in the minor
next week.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

  1. Redesign the partition dependency mechanism.

  2. Fix trigger drop procedure

  3. Sort the dependent objects before recursing in findDependentObjects().

  4. Avoid sometimes printing both tables and their columns in DROP CASCADE.