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/commands/variable.c | |
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/commands/variable.c')
-rw-r--r-- | src/backend/commands/variable.c | 29 |
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"; + } } |