pgsql: Restructure get_object_address() so it's safe against concurrent

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Restructure get_object_address() so it's safe against concurrent
Date: 2011-11-17 17:52:15
Message-ID: E1RR68F-00011y-Qn@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Restructure get_object_address() so it's safe against concurrent DDL.

This gives a much better error message when the object of interest is
concurrently dropped and avoids needlessly failing when the object of
interest is concurrently dropped and recreated. It also improves the
behavior of two concurrent DROP IF EXISTS operations targeted at the
same object; as before, one will drop the object, but now the other
will emit the usual NOTICE indicating that the object does not exist,
instead of rolling back. As a fringe benefit, it's also slightly
less code.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/b3ad5d02c9cd8a4c884cd78480f221afe8ce5590

Modified Files
--------------
src/backend/catalog/objectaddress.c | 423 +++++++++++++++++------------------
1 files changed, 207 insertions(+), 216 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2011-11-17 18:17:35 pgsql: Remove pg_upgrade function no longer called (dir_matching_filena
Previous Message Michael Meskes 2011-11-17 13:51:02 pgsql: Applied Zoltan's patch to correctly align interval and timestamp