pgsql: Repair two related errors in heap_lock_tuple: it was failing to - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Repair two related errors in heap_lock_tuple: it was failing to
Date
Msg-id 20061117180015.5968D9F9EC9@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Repair two related errors in heap_lock_tuple: it was failing to recognize
cases where we already hold the desired lock "indirectly", either via
membership in a MultiXact or because the lock was originally taken by a
different subtransaction of the current transaction.  These cases must be
accounted for to avoid needless deadlocks and/or inappropriate replacement of
an exclusive lock with a shared lock.  Per report from Clarence Gardner and
subsequent investigation.

Modified Files:
--------------
    pgsql/src/backend/access/heap:
        heapam.c (r1.221 -> r1.222)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.221&r2=1.222)
    pgsql/src/backend/access/transam:
        multixact.c (r1.21 -> r1.22)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/multixact.c.diff?r1=1.21&r2=1.22)
    pgsql/src/backend/utils/time:
        tqual.c (r1.99 -> r1.100)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/tqual.c.diff?r1=1.99&r2=1.100)
    pgsql/src/include/access:
        multixact.h (r1.10 -> r1.11)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/multixact.h.diff?r1=1.10&r2=1.11)

pgsql-committers by date:

Previous
From: petere@postgresql.org (Peter Eisentraut)
Date:
Subject: pgsql: Small message equalization fix
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Repair two related errors in heap_lock_tuple: it was failing to