diff options
| author | Peter Eisentraut | 2003-11-06 22:08:15 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2003-11-06 22:08:15 +0000 |
| commit | 5eae9ddbbd881f08111dd25de03eb1c3adbfdea6 (patch) | |
| tree | 0d3fe13cf3bc9cc80c52dd541cc34c1ec4383d08 /src/backend/commands/variable.c | |
| parent | 24443bf2aa4d1af7e22f4e156e76ad2a86d9e2f9 (diff) | |
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 | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c index 7b04226017..1f16ae962e 100644 --- a/src/backend/commands/variable.c +++ b/src/backend/commands/variable.c @@ -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"; + } } |
