mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Add comment about memory reordering to PredicateLockTupleRowVersionLink.
Dan Ports, per head-scratching from Simon Riggs and myself.
This commit is contained in:
@ -2283,6 +2283,9 @@ PredicateLockTupleRowVersionLink(const Relation relation,
|
|||||||
* locks. Even if a serializable transaction starts concurrently,
|
* locks. Even if a serializable transaction starts concurrently,
|
||||||
* we know it can't take any SIREAD locks on the modified tuple
|
* we know it can't take any SIREAD locks on the modified tuple
|
||||||
* because the caller is holding the associated buffer page lock.
|
* because the caller is holding the associated buffer page lock.
|
||||||
|
* Memory reordering isn't an issue; the memory barrier in the
|
||||||
|
* LWLock acquisition guarantees that this read occurs while the
|
||||||
|
* buffer page lock is held.
|
||||||
*/
|
*/
|
||||||
if (!TransactionIdIsValid(PredXact->SxactGlobalXmin))
|
if (!TransactionIdIsValid(PredXact->SxactGlobalXmin))
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user