Alvaro Herrera <alvhe...@2ndquadrant.com> writes: > On 2019-Feb-09, Tom Lane wrote: >> 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. (squint ...) Don't much like the undocumented deleteDependencyRecordsFor call; that looks like it's redundant with what deleteOneObject will do. I think you're doing it to get rid of the INTERNAL dependency so that deletion won't recurse across that, but why is that a good idea? Needs a comment at least. Also, I suspect you might need a second CCI after the performDeletion call, in case the loop iterates? regards, tom lane