diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2003-11-06 22:08:15 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2003-11-06 22:08:15 +0000 |
commit | 96889392e915e5c77384d274db2a2c42b684c274 (patch) | |
tree | 06f115dec005a18d591bf4a389391a84cf6cef00 /src/backend/utils | |
parent | 144a2ecd57590c6cce9981a2b28cee5f5805bd5d (diff) | |
download | postgresql-96889392e915e5c77384d274db2a2c42b684c274.tar.gz postgresql-96889392e915e5c77384d274db2a2c42b684c274.zip |
Implement isolation levels read uncommitted and repeatable read as acting
like the next higher one.
Diffstat (limited to 'src/backend/utils')
-rw-r--r-- | src/backend/utils/adt/ri_triggers.c | 4 | ||||
-rw-r--r-- | src/backend/utils/misc/guc.c | 14 | ||||
-rw-r--r-- | src/backend/utils/time/tqual.c | 4 |
3 files changed, 16 insertions, 6 deletions
diff --git a/src/backend/utils/adt/ri_triggers.c b/src/backend/utils/adt/ri_triggers.c index d0e3e9c0817..7caca437449 100644 --- a/src/backend/utils/adt/ri_triggers.c +++ b/src/backend/utils/adt/ri_triggers.c @@ -17,7 +17,7 @@ * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/backend/utils/adt/ri_triggers.c,v 1.63 2003/10/31 03:58:20 wieck Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/ri_triggers.c,v 1.64 2003/11/06 22:08:15 petere Exp $ * * ---------- */ @@ -3073,7 +3073,7 @@ ri_PerformCheck(RI_QueryKey *qkey, void *qplan, * rows under current snapshot that wouldn't be visible per the * transaction snapshot). */ - if (XactIsoLevel == XACT_SERIALIZABLE) + if (IsXactIsoLevelSerializable) { useCurrentSnapshot = detectNewRows; } diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index c3e9a0ec818..fd9def3e6cd 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -10,7 +10,7 @@ * Written by Peter Eisentraut <peter_e@gmx.net>. * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.164 2003/10/18 22:59:09 petere Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.165 2003/11/06 22:08:15 petere Exp $ * *-------------------------------------------------------------------- */ @@ -1346,7 +1346,7 @@ static struct config_string ConfigureNamesString[] = {"default_transaction_isolation", PGC_USERSET, CLIENT_CONN_STATEMENT, gettext_noop("Sets the transaction isolation level of each new transaction."), gettext_noop("Each SQL transaction has an isolation level, which " - "can be either \"read committed\" or \"serializable\".") + "can be either \"read uncommitted\", \"read committed\", \"repeatable read\", or \"serializable\".") }, &default_iso_level_string, "read committed", assign_defaultxactisolevel, NULL @@ -4238,11 +4238,21 @@ assign_defaultxactisolevel(const char *newval, bool doit, bool interactive) if (doit) DefaultXactIsoLevel = XACT_SERIALIZABLE; } + else if (strcasecmp(newval, "repeatable read") == 0) + { + if (doit) + DefaultXactIsoLevel = XACT_REPEATABLE_READ; + } else if (strcasecmp(newval, "read committed") == 0) { if (doit) DefaultXactIsoLevel = XACT_READ_COMMITTED; } + else if (strcasecmp(newval, "read uncommitted") == 0) + { + if (doit) + DefaultXactIsoLevel = XACT_READ_UNCOMMITTED; + } else return NULL; return newval; diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c index d7d22b77866..fa59e0f1752 100644 --- a/src/backend/utils/time/tqual.c +++ b/src/backend/utils/time/tqual.c @@ -16,7 +16,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.70 2003/10/01 21:30:52 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.71 2003/11/06 22:08:15 petere Exp $ * *------------------------------------------------------------------------- */ @@ -984,7 +984,7 @@ SetQuerySnapshot(void) return; } - if (XactIsoLevel == XACT_SERIALIZABLE) + if (IsXactIsoLevelSerializable) QuerySnapshot = SerializableSnapshot; else QuerySnapshot = GetSnapshotData(&QuerySnapshotData, false); |