Add summarization comment about visibility functions.
Add URL about the Halloween problem.
This commit is contained in:
parent
e43fd89762
commit
fd497ab650
@ -26,12 +26,31 @@
|
|||||||
* subtransactions of our own main transaction and so there can't be any
|
* subtransactions of our own main transaction and so there can't be any
|
||||||
* race condition.
|
* race condition.
|
||||||
*
|
*
|
||||||
|
* Summary of visibility functions:
|
||||||
|
*
|
||||||
|
* HeapTupleSatisfiesMVCC()
|
||||||
|
* visible to supplied snapshot, excludes current command
|
||||||
|
* HeapTupleSatisfiesNow()
|
||||||
|
* visible to instant snapshot, excludes current command
|
||||||
|
* HeapTupleSatisfiesUpdate()
|
||||||
|
* like HeapTupleSatisfiesNow(), but with user-supplied command
|
||||||
|
* counter and more complex result
|
||||||
|
* HeapTupleSatisfiesSelf()
|
||||||
|
* visible to instant snapshot and current command
|
||||||
|
* HeapTupleSatisfiesDirty()
|
||||||
|
* like HeapTupleSatisfiesSelf(), but includes open transactions
|
||||||
|
* HeapTupleSatisfiesVacuum()
|
||||||
|
* visible to any running transaction, used by VACUUM
|
||||||
|
* HeapTupleSatisfiesToast()
|
||||||
|
* visible unless part of interrupted vacuum, used for TOAST
|
||||||
|
* HeapTupleSatisfiesAny()
|
||||||
|
* all tuples are visible
|
||||||
*
|
*
|
||||||
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/utils/time/tqual.c,v 1.111 2009/01/01 17:23:53 momjian Exp $
|
* $PostgreSQL: pgsql/src/backend/utils/time/tqual.c,v 1.112 2009/03/09 13:08:05 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -277,7 +296,7 @@ HeapTupleSatisfiesSelf(HeapTupleHeader tuple, Snapshot snapshot, Buffer buffer)
|
|||||||
*
|
*
|
||||||
* Note we do _not_ include changes made by the current command. This
|
* Note we do _not_ include changes made by the current command. This
|
||||||
* solves the "Halloween problem" wherein an UPDATE might try to re-update
|
* solves the "Halloween problem" wherein an UPDATE might try to re-update
|
||||||
* its own output tuples.
|
* its own output tuples, http://en.wikipedia.org/wiki/Halloween_Problem.
|
||||||
*
|
*
|
||||||
* Note:
|
* Note:
|
||||||
* Assumes heap tuple is valid.
|
* Assumes heap tuple is valid.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user