pgsql: Heed lock protocol in DROP OWNED BY - Mailing list pgsql-committers

From Alvaro Herrera
Subject pgsql: Heed lock protocol in DROP OWNED BY
Date
Msg-id E1jWNKs-0007m6-CI@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Heed lock protocol in DROP OWNED BY

We were acquiring object locks then deleting objects one by one, instead
of acquiring all object locks first, ignoring those that did not exist,
and then deleting all objects together.   The latter is the correct
protocol to use, and what this commits changes to code to do.  Failing
to follow that leads to "cache lookup failed for relation XYZ" error
reports when DROP OWNED runs concurrently with other DDL -- for example,
a session termination that removes some temp tables.

Author: Álvaro Herrera
Reported-by: Mithun Chicklore Yogendra (Mithun CY)
Reviewed-by: Ahsan Hadi, Tom Lane
Discussion: https://postgr.es/m/CADq3xVZTbzK4ZLKq+dn_vB4QafXXbmMgDP3trY-GuLnib2Ai1w@mail.gmail.com

Branch
------
REL_10_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/4d21263fffd2d5aebeb2e52dbaaa31d3ba16d51e

Modified Files
--------------
src/backend/catalog/dependency.c        | 15 +++++++++------
src/backend/catalog/pg_shdepend.c       | 24 +++++++++++++++++++++++-
src/backend/commands/subscriptioncmds.c |  1 -
src/include/catalog/dependency.h        |  4 ++++
4 files changed, 36 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Doc: further fooling-about with rendering of tables in PDF outpu
Next
From: Tom Lane
Date:
Subject: pgsql: Doc: remove now-redundant align specifications in colspecs.