pgsql: Fix LOCK TABLE to eliminate the race condition that could make it - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Fix LOCK TABLE to eliminate the race condition that could make it
Date
Msg-id 20090512164332.BFC1575407D@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Fix LOCK TABLE to eliminate the race condition that could make it give weird
errors when tables are concurrently dropped.  To do this we must take lock
on each relation before we check its privileges.  The old code was trying
to do that the other way around, which is a bit pointless when there are lots
of other commands that lock relations before checking privileges.  I did keep
it checking each relation's privilege before locking the next relation, which
is a detail that ALTER TABLE isn't too picky about.

Modified Files:
--------------
    pgsql/src/backend/access/heap:
        heapam.c (r1.274 -> r1.275)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c?r1=1.274&r2=1.275)
    pgsql/src/backend/commands:
        lockcmds.c (r1.23 -> r1.24)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/lockcmds.c?r1=1.23&r2=1.24)
    pgsql/src/include/access:
        heapam.h (r1.141 -> r1.142)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h?r1=1.141&r2=1.142)

pgsql-committers by date:

Previous
From: bmomjian@pgfoundry.org (User Bmomjian)
Date:
Subject: pg-migrator - pg_migrator: All only a single username for both clusters.
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix intratransaction memory leaks in xml_recv, xmlconcat,