mirror of
https://github.com/postgres/postgres.git
synced 2025-07-20 05:03:10 +03:00
SERIALIZABLE transactions are actually implemented beneath the covers with
transaction snapshots, i.e. a snapshot registered at the beginning of a transaction. Change variable naming and comments to reflect this reality in preparation for a future, truly serializable mode, e.g. Serializable Snapshot Isolation (SSI). For the moment transaction snapshots are still used to implement SERIALIZABLE, but hopefully not for too much longer. Patch by Kevin Grittner and Dan Ports with review and some minor wording changes by me.
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.293 2010/07/29 16:14:36 rhaas Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.294 2010/09/11 18:38:55 joe Exp $
|
||||
*
|
||||
*
|
||||
* INTERFACE ROUTINES
|
||||
@ -2173,7 +2173,7 @@ l1:
|
||||
|
||||
if (crosscheck != InvalidSnapshot && result == HeapTupleMayBeUpdated)
|
||||
{
|
||||
/* Perform additional check for serializable RI updates */
|
||||
/* Perform additional check for transaction-snapshot mode RI updates */
|
||||
if (!HeapTupleSatisfiesVisibility(&tp, crosscheck, buffer))
|
||||
result = HeapTupleUpdated;
|
||||
}
|
||||
@ -2525,7 +2525,7 @@ l2:
|
||||
|
||||
if (crosscheck != InvalidSnapshot && result == HeapTupleMayBeUpdated)
|
||||
{
|
||||
/* Perform additional check for serializable RI updates */
|
||||
/* Perform additional check for transaction-snapshot mode RI updates */
|
||||
if (!HeapTupleSatisfiesVisibility(&oldtup, crosscheck, buffer))
|
||||
result = HeapTupleUpdated;
|
||||
}
|
||||
|
Reference in New Issue
Block a user