Changeset: 106674509b91 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=106674509b91 Modified Files: clients/odbc/driver/SQLGetConnectAttr.c clients/odbc/driver/SQLGetInfo.c clients/odbc/driver/SQLSetConnectAttr.c Branch: Feb2013 Log Message:
Fix ODBC transaction levels. MonetDB only implements the highest level, SQL_TXN_SERIALIZABLE, so you can set any level in SQLSetConnectAttr, but it will not change anything. diffs (63 lines): diff --git a/clients/odbc/driver/SQLGetConnectAttr.c b/clients/odbc/driver/SQLGetConnectAttr.c --- a/clients/odbc/driver/SQLGetConnectAttr.c +++ b/clients/odbc/driver/SQLGetConnectAttr.c @@ -93,6 +93,9 @@ SQLGetConnectAttr_(ODBCDbc *dbc, BufferLength, StringLengthPtr, SQLINTEGER, addDbcError, dbc, return SQL_ERROR); break; + case SQL_ATTR_TXN_ISOLATION: + *(SQLUINTEGER *) ValuePtr = SQL_TXN_SERIALIZABLE; + break; /* TODO: implement all the other Connection Attributes */ case SQL_ATTR_DISCONNECT_BEHAVIOR: @@ -103,7 +106,6 @@ SQLGetConnectAttr_(ODBCDbc *dbc, case SQL_ATTR_TRACEFILE: case SQL_ATTR_TRANSLATE_LIB: case SQL_ATTR_TRANSLATE_OPTION: - case SQL_ATTR_TXN_ISOLATION: /* Optional feature not implemented */ addDbcError(dbc, "HYC00", NULL, 0); return SQL_ERROR; diff --git a/clients/odbc/driver/SQLGetInfo.c b/clients/odbc/driver/SQLGetInfo.c --- a/clients/odbc/driver/SQLGetInfo.c +++ b/clients/odbc/driver/SQLGetInfo.c @@ -436,7 +436,7 @@ SQLGetInfo_(ODBCDbc *dbc, sValue = "N"; break; case SQL_DEFAULT_TXN_ISOLATION: - nValue = SQL_TXN_READ_COMMITTED; + nValue = SQL_TXN_SERIALIZABLE; len = sizeof(SQLUINTEGER); break; case SQL_EXPRESSIONS_IN_ORDERBY: @@ -568,7 +568,7 @@ SQLGetInfo_(ODBCDbc *dbc, len = sizeof(SQLUINTEGER); break; case SQL_TXN_ISOLATION_OPTION: - nValue = SQL_TXN_REPEATABLE_READ; + nValue = SQL_TXN_SERIALIZABLE; len = sizeof(SQLUINTEGER); break; case SQL_INTEGRITY: diff --git a/clients/odbc/driver/SQLSetConnectAttr.c b/clients/odbc/driver/SQLSetConnectAttr.c --- a/clients/odbc/driver/SQLSetConnectAttr.c +++ b/clients/odbc/driver/SQLSetConnectAttr.c @@ -101,6 +101,9 @@ SQLSetConnectAttr_(ODBCDbc *dbc, if (dbc->mid) mapi_timeout(dbc->mid, dbc->sql_attr_connection_timeout); break; + case SQL_ATTR_TXN_ISOLATION: + /* nothing to change, we only do the highest level */ + break; /* TODO: implement connection attribute behavior */ case SQL_ATTR_ACCESS_MODE: @@ -113,7 +116,6 @@ SQLSetConnectAttr_(ODBCDbc *dbc, case SQL_ATTR_TRACEFILE: case SQL_ATTR_TRANSLATE_LIB: case SQL_ATTR_TRANSLATE_OPTION: - case SQL_ATTR_TXN_ISOLATION: /* Optional feature not implemented */ addDbcError(dbc, "HYC00", NULL, 0); return SQL_ERROR; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list