aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/variable.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2003-11-06 22:08:15 +0000
committerPeter Eisentraut <peter_e@gmx.net>2003-11-06 22:08:15 +0000
commit96889392e915e5c77384d274db2a2c42b684c274 (patch)
tree06f115dec005a18d591bf4a389391a84cf6cef00 /src/backend/commands/variable.c
parent144a2ecd57590c6cce9981a2b28cee5f5805bd5d (diff)
downloadpostgresql-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/commands/variable.c')
-rw-r--r--src/backend/commands/variable.c29
1 files changed, 24 insertions, 5 deletions
diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c
index 7c862a5b3ac..f763163957e 100644
--- a/src/backend/commands/variable.c
+++ b/src/backend/commands/variable.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.88 2003/09/25 06:57:59 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.89 2003/11/06 22:08:14 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -640,11 +640,21 @@ assign_XactIsoLevel(const char *value, bool doit, bool interactive)
if (doit)
XactIsoLevel = XACT_SERIALIZABLE;
}
+ else if (strcmp(value, "repeatable read") == 0)
+ {
+ if (doit)
+ XactIsoLevel = XACT_REPEATABLE_READ;
+ }
else if (strcmp(value, "read committed") == 0)
{
if (doit)
XactIsoLevel = XACT_READ_COMMITTED;
}
+ else if (strcmp(value, "read uncommitted") == 0)
+ {
+ if (doit)
+ XactIsoLevel = XACT_READ_UNCOMMITTED;
+ }
else if (strcmp(value, "default") == 0)
{
if (doit)
@@ -659,10 +669,19 @@ assign_XactIsoLevel(const char *value, bool doit, bool interactive)
const char *
show_XactIsoLevel(void)
{
- if (XactIsoLevel == XACT_SERIALIZABLE)
- return "serializable";
- else
- return "read committed";
+ switch (XactIsoLevel)
+ {
+ case XACT_READ_UNCOMMITTED:
+ return "read uncommitted";
+ case XACT_READ_COMMITTED:
+ return "read committed";
+ case XACT_REPEATABLE_READ:
+ return "repeatable read";
+ case XACT_SERIALIZABLE:
+ return "serializable";
+ default:
+ return "bogus";
+ }
}