File tree Expand file tree Collapse file tree 2 files changed +6
-5
lines changed Expand file tree Collapse file tree 2 files changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -1472,10 +1472,10 @@ heap_fetch(Relation relation,
1472
1472
if (valid )
1473
1473
PredicateLockTuple (relation , tuple );
1474
1474
1475
- LockBuffer (buffer , BUFFER_LOCK_UNLOCK );
1476
-
1477
1475
CheckForSerializableConflictOut (valid , relation , tuple , buffer );
1478
1476
1477
+ LockBuffer (buffer , BUFFER_LOCK_UNLOCK );
1478
+
1479
1479
if (valid )
1480
1480
{
1481
1481
/*
Original file line number Diff line number Diff line change @@ -3366,9 +3366,10 @@ XidIsConcurrent(TransactionId xid)
3366
3366
* If the transactions overlap (i.e., they cannot see each other's writes),
3367
3367
* then we have a conflict out.
3368
3368
*
3369
- * This function should be called just about anywhere in heapam.c that a
3370
- * tuple has been read. There is currently no known reason to call this
3371
- * function from an index AM.
3369
+ * This function should be called just about anywhere in heapam.c where a
3370
+ * tuple has been read. The caller must hold at least a shared lock on the
3371
+ * buffer, because this function might set hint bits on the tuple. There is
3372
+ * currently no known reason to call this function from an index AM.
3372
3373
*/
3373
3374
void
3374
3375
CheckForSerializableConflictOut (const bool visible , const Relation relation ,
You can’t perform that action at this time.
0 commit comments