diff options
| author | Hiroshi Inoue | 2007-12-26 13:28:36 +0000 |
|---|---|---|
| committer | Hiroshi Inoue | 2007-12-26 13:28:36 +0000 |
| commit | f2ec8019c738c4c3603087e9f06073478b7664ef (patch) | |
| tree | f7b19e9e98841f064070963b6edfbeae85579ed6 /options.c | |
| parent | 3d38298b642ff817104b9fd2d89fef49f072f233 (diff) | |
*** empty log message ***
Diffstat (limited to 'options.c')
| -rw-r--r-- | options.c | 27 |
1 files changed, 23 insertions, 4 deletions
@@ -425,10 +425,18 @@ PGAPI_SetConnectOption( PG_VERSION_LE(conn, 7.0)) retval = SQL_ERROR; break; + case SQL_TXN_REPEATABLE_READ: + if (PG_VERSION_LT(conn, 8.0)) + retval = SQL_ERROR; + break; case SQL_TXN_READ_COMMITTED: if (PG_VERSION_LT(conn, 6.5)) retval = SQL_ERROR; break; + case SQL_TXN_READ_UNCOMMITTED: + if (PG_VERSION_LT(conn, 8.0)) + retval = SQL_ERROR; + break; default: retval = SQL_ERROR; } @@ -442,10 +450,21 @@ PGAPI_SetConnectOption( char *query; QResultClass *res; - if (vParam == SQL_TXN_SERIALIZABLE) - query = "SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE"; - else - query = "SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ COMMITTED"; + switch (vParam) + { + case SQL_TXN_SERIALIZABLE: + query = "SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE"; + break; + case SQL_TXN_REPEATABLE_READ: + query = "SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL REPEATABLE READ"; + break; + case SQL_TXN_READ_UNCOMMITTED: + query = "SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ UNCOMMITTED"; + break; + default: + query = "SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ COMMITTED"; + break; + } res = CC_send_query(conn, query, NULL, 0, NULL); if (!QR_command_maybe_successful(res)) retval = SQL_ERROR; |
