aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeModifyTable.c
diff options
context:
space:
mode:
authorJoe Conway <mail@joeconway.com>2010-09-11 18:38:58 +0000
committerJoe Conway <mail@joeconway.com>2010-09-11 18:38:58 +0000
commit5eb15c9942a9bd6aaf712f2ab6175005e035168a (patch)
tree5795253ca2eeb8850761da17341ee062078894a0 /src/backend/executor/nodeModifyTable.c
parent262c71ab63d5781cd68b23d2058cbb45ad67a54c (diff)
downloadpostgresql-5eb15c9942a9bd6aaf712f2ab6175005e035168a.tar.gz
postgresql-5eb15c9942a9bd6aaf712f2ab6175005e035168a.zip
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.
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
-rw-r--r--src/backend/executor/nodeModifyTable.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c
index 65414b92677..86fc016b50d 100644
--- a/src/backend/executor/nodeModifyTable.c
+++ b/src/backend/executor/nodeModifyTable.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/executor/nodeModifyTable.c,v 1.9 2010/08/18 21:52:24 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/executor/nodeModifyTable.c,v 1.10 2010/09/11 18:38:56 joe Exp $
*
*-------------------------------------------------------------------------
*/
@@ -310,7 +310,7 @@ ExecDelete(ItemPointer tupleid,
* Note: if es_crosscheck_snapshot isn't InvalidSnapshot, we check that
* the row to be deleted is visible to that snapshot, and throw a can't-
* serialize error if not. This is a special-case behavior needed for
- * referential integrity updates in serializable transactions.
+ * referential integrity updates in transaction-snapshot mode transactions.
*/
ldelete:;
result = heap_delete(resultRelationDesc, tupleid,
@@ -328,7 +328,7 @@ ldelete:;
break;
case HeapTupleUpdated:
- if (IsXactIsoLevelSerializable)
+ if (IsolationUsesXactSnapshot())
ereport(ERROR,
(errcode(ERRCODE_T_R_SERIALIZATION_FAILURE),
errmsg("could not serialize access due to concurrent update")));
@@ -499,7 +499,7 @@ lreplace:;
* Note: if es_crosscheck_snapshot isn't InvalidSnapshot, we check that
* the row to be updated is visible to that snapshot, and throw a can't-
* serialize error if not. This is a special-case behavior needed for
- * referential integrity updates in serializable transactions.
+ * referential integrity updates in transaction-snapshot mode transactions.
*/
result = heap_update(resultRelationDesc, tupleid, tuple,
&update_ctid, &update_xmax,
@@ -516,7 +516,7 @@ lreplace:;
break;
case HeapTupleUpdated:
- if (IsXactIsoLevelSerializable)
+ if (IsolationUsesXactSnapshot())
ereport(ERROR,
(errcode(ERRCODE_T_R_SERIALIZATION_FAILURE),
errmsg("could not serialize access due to concurrent update")));