mirror of
https://github.com/postgres/postgres.git
synced 2025-09-03 15:22:11 +03:00
Improve comments for [Heap]CheckForSerializableConflictOut().
Rewrite the documentation of these functions, in light of recent bug fix
commit 5940ffb2
.
Back-patch to 13 where the check-for-conflict-out code was split up into
AM-specific and generic parts, and new documentation was added that now
looked wrong.
Reviewed-by: Peter Geoghegan <pg@bowt.ie>
Discussion: https://postgr.es/m/db7b729d-0226-d162-a126-8a8ab2dc4443%40jepsen.io
This commit is contained in:
@@ -4037,13 +4037,16 @@ CheckForSerializableConflictOutNeeded(Relation relation, Snapshot snapshot)
|
||||
|
||||
/*
|
||||
* CheckForSerializableConflictOut
|
||||
* A table AM is reading a tuple that has been modified. After determining
|
||||
* that it is visible to us, it should call this function with the top
|
||||
* level xid of the writing transaction.
|
||||
* A table AM is reading a tuple that has been modified. If it determines
|
||||
* that the tuple version it is reading is not visible to us, it should
|
||||
* pass in the top level xid of the transaction that created it.
|
||||
* Otherwise, if it determines that it is visible to us but it has been
|
||||
* deleted or there is a newer version available due to an update, it
|
||||
* should pass in the top level xid of the modifying transaction.
|
||||
*
|
||||
* This function will check for overlap with our own transaction. If the
|
||||
* transactions overlap (i.e., they cannot see each other's writes), then we
|
||||
* have a conflict out.
|
||||
* This function will check for overlap with our own transaction. If the given
|
||||
* xid is also serializable and the transactions overlap (i.e., they cannot see
|
||||
* each other's writes), then we have a conflict out.
|
||||
*/
|
||||
void
|
||||
CheckForSerializableConflictOut(Relation relation, TransactionId xid, Snapshot snapshot)
|
||||
|
Reference in New Issue
Block a user