From: Carlos G.A. <car...@ho...> - 2002-07-02 11:47:06
|
Hello: A few little things about OdbcJdbcDriver. (1) Little change for better management of transaction isolation levels. OdbcConnection.h: 1. Add this at line 85: int transactionIsolation; OdbcConnection.cpp 1. Add this to line 239 ( OdbcConnection::OdbcConnection ) transactionIsolation = SQL_TXN_READ_COMMITTED; 2. Change this at line 293 //Added by CA case SQL_ATTR_TXN_ISOLATION: if( connection ) connection->setTransactionIsolation( (int) value ); break; for //Added by CA case SQL_ATTR_TXN_ISOLATION: transactionIsolation = (int)value; if( connection ) connection->setTransactionIsolation( (int) value ); break; 3. Change this at line 285: connection->setTransactionIsolation( SQL_TXN_READ_COMMITTED ); for connection->setTransactionIsolation( transactionIsolation ); IscDatabaseMetadata.cpp 1. Change this at line 782 int IscDatabaseMetaData::getDefaultTransactionIsolation() { return TRANSACTION_SERIALIZABLE; } for int IscDatabaseMetaData::getDefaultTransactionIsolation() { return TRANSACTION_READ_COMMITTED; } (2) Another little fix, for setting the asyncEnable property of a connection: OdbcConnection.cpp 1. Add this at line 289: case SQL_ATTR_ASYNC_ENABLE: asyncEnable = (int) value == SQL_ASYNC_ENABLE_ON; break; (3) Mapped calls SQLSetStmtOption ( this is deprecated ODBC API function but Visual Foxpro make calls to it when you open a remote view ) to SQLSetStmtAttr: Main.cpp 1. At line 560: ///// SQLSetStmtOption ///// Deprecated RETCODE SQL_API SQLSetStmtOption (HSTMT arg0, UWORD arg1, UDWORD arg2) { /* notYetImplemented("SQLSetStmtOption called\n"); return(SQL_SUCCESS); */ TRACE ("SQLSetStmtOption"); return ((OdbcStatement*) arg0)->sqlSetStmtAttr (arg1, (SQLPOINTER) arg2, 0); } 2. At line 453 Change definition of SQLSetConnectOption for ///// SQLSetConnectOption ///// Level 1 ///// Deprecated //Proposed by Carlos Guzmn lvarez 2002-04-30 RETCODE SQL_API SQLSetConnectOption (HDBC arg0, SQLUSMALLINT arg1, SQLUINTEGER arg2) { TRACE ("SQLSetConnectOption"); return SQLSetConnectAttr (arg0, arg1, (SQLPOINTER)arg2, 0); } 3. At line Change definition of SQLGetConnectOption for ///// SQLGetConnectOption ///// Level 1 ///// Deprecated RETCODE SQL_API SQLGetConnectOption (HDBC arg0, UWORD arg1, PTR arg2) { /* notYetImplemented("SQLGetConnectOption called\n"); return(SQL_SUCCESS); */ TRACE ("SQLGetConnectOption"); return SQLGetConnectAttr (arg0, arg1, arg2, 0, NULL); } (4) Mapped calls SQLGetStmtOption to SQLGetStmtAttr: Main.cpp ///// SQLGetStmtOption ///// Level 1 RETCODE SQL_API SQLGetStmtOption (HSTMT arg0, UWORD arg1, PTR arg2) { /* notYetImplemented("SQLGetStmtOption called\n"); return(SQL_SUCCESS); */ TRACE ("SQLGetStmtOption"); return ((OdbcStatement*) arg0)->sqlGetStmtAttr (arg1, arg2, 0, NULL); } Best regards Carlos Guzmán Álvarez Vigo-España _________________________________________________________________ MSN Fotos: la forma más fácil de compartir e imprimir fotos. http://photos.msn.es/support/worldwide.aspx |