Обсуждение: pgsql: Fix an oversight in the original implementation of

Поиск
Список
Период
Сортировка

pgsql: Fix an oversight in the original implementation of

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Fix an oversight in the original implementation of performMultipleDeletions():
the alreadyDeleted list has to be passed down through
deleteDependentObjects(), else objects that are deleted via auto/internal
dependencies don't get reported back up to performMultipleDeletions().
Depending on the visitation order, this could cause the code to try to delete
an already-deleted object, leading to strange errors in DROP OWNED (typically
"cache lookup failed for relation NNNNN" or similar).  Per bug #4289.

Patch for back branches only.  This code has recently been rewritten in HEAD,
and doesn't have this particular bug anymore.

Tags:
----
REL8_3_STABLE

Modified Files:
--------------
    pgsql/src/backend/catalog:
        dependency.c (r1.69 -> r1.69.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/dependency.c?r1=1.69&r2=1.69.2.1)