From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Repair two related errors in heap_lock_tuple: it was failing to |
Date: | 2006-11-17 18:00:15 |
Message-ID: | 20061117180015.5968D9F9EC9@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-11-17 18:00:25 | pgsql: Repair two related errors in heap_lock_tuple: it was failing to |
Previous Message | Peter Eisentraut | 2006-11-17 16:46:27 | pgsql: Small message equalization fix |