|
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
|