Re: Fixing findDependentObjects()'s dependency on scan order (regressions in DROP diagnostic messages)
| От | Tom Lane |
|---|---|
| Тема | Re: Fixing findDependentObjects()'s dependency on scan order (regressions in DROP diagnostic messages) |
| Дата | |
| Msg-id | 5943.1549728638@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: Fixing findDependentObjects()'s dependency on scan order(regressions in DROP diagnostic messages) (Alvaro Herrera <alvherre@2ndquadrant.com>) |
| Ответы |
Re: Fixing findDependentObjects()'s dependency on scan order(regressions in DROP diagnostic messages)
|
| Список | pgsql-hackers |
Alvaro Herrera <alvherre@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
В списке pgsql-hackers по дате отправления: