Repair two related errors in heap_lock_tuple: it was failing to recognize

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 91eb4895bb6c57face2edf30e20e16e6ab942ef1
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2006-11-17T18:00:25Z
Releases: 8.1.6
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.

Files