odbc32: Improve some tracing
Bruno Jesus
00cpxxx at gmail.com
Fri Jan 13 07:24:48 CST 2017
Was useful while testing bug https://bugs.winehq.org/show_bug.cgi?id=42178
Most important changes:
Display the library opened:
trace:odbc:ODBC_LoadDriverManager Opened library libodbc.so.2
Improve SQLError output to make better logs
trace:odbc:SQLError (EnvironmentHandle 0x7d147d88, ConnectionHandle
0x7d148368, StatementHandle (nil), BufferLength 511)
trace:odbc:SQLError SQLState "IM002", Error 0, Text "[unixODBC][Driver
Manager]Data source name not found, and no default driver specified",
Textlen 85
Trace connection string:
trace:odbc:SQLDriverConnect (ConnectionString
"DSN=MTAE;DBQ=C:\\WINM\\dossier\\expert.mdb;DefaultDir=C:\\WINM\\dossier;PWD=filousuite;",
Length -3)
trace:odbc:SQLDriverConnect Returns -1
Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
-------------- next part --------------
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c
index aca0792..cbe5ff4 100644
--- a/dlls/odbc32/proxyodbc.c
+++ b/dlls/odbc32/proxyodbc.c
@@ -505,8 +505,6 @@ static BOOL ODBC_LoadDriverManager(void)
const char *s = getenv("LIB_ODBC_DRIVER_MANAGER");
char error[256];
- TRACE("\n");
-
#ifdef SONAME_LIBODBC
if (!s || !s[0]) s = SONAME_LIBODBC;
#endif
@@ -516,6 +514,7 @@ static BOOL ODBC_LoadDriverManager(void)
if (dmHandle != NULL)
{
+ TRACE("Opened library %s\n", s);
nErrorType = ERROR_FREE;
return TRUE;
}
@@ -675,7 +674,7 @@ static BOOL ODBC_LoadDMFunctions(void)
SQLRETURN WINAPI SQLAllocConnect(SQLHENV EnvironmentHandle, SQLHDBC *ConnectionHandle)
{
SQLRETURN ret;
- TRACE("Env=%p\n",EnvironmentHandle);
+ TRACE("(EnvironmentHandle %p)\n",EnvironmentHandle);
if (!pSQLAllocConnect)
{
@@ -685,7 +684,7 @@ SQLRETURN WINAPI SQLAllocConnect(SQLHENV EnvironmentHandle, SQLHDBC *ConnectionH
}
ret = pSQLAllocConnect(EnvironmentHandle, ConnectionHandle);
- TRACE("Returns ret=%d, Handle %p\n",ret, *ConnectionHandle);
+ TRACE("Returns %d, Handle %p\n", ret, *ConnectionHandle);
return ret;
}
@@ -706,7 +705,7 @@ SQLRETURN WINAPI SQLAllocEnv(SQLHENV *EnvironmentHandle)
}
ret = pSQLAllocEnv(EnvironmentHandle);
- TRACE("Returns ret=%d, Env=%p\n",ret, *EnvironmentHandle);
+ TRACE("Returns %d, EnvironmentHandle %p\n", ret, *EnvironmentHandle);
return ret;
}
@@ -717,7 +716,7 @@ SQLRETURN WINAPI SQLAllocEnv(SQLHENV *EnvironmentHandle)
SQLRETURN WINAPI SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE *OutputHandle)
{
SQLRETURN ret;
- TRACE("(Type=%d, Handle=%p)\n",HandleType,InputHandle);
+ TRACE("(Type %d, Handle %p)\n", HandleType, InputHandle);
if (!pSQLAllocHandle)
{
@@ -738,7 +737,7 @@ SQLRETURN WINAPI SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, S
}
ret = pSQLAllocHandle(HandleType, InputHandle, OutputHandle);
- TRACE("Returns ret=%d, Handle=%p\n",ret, *OutputHandle);
+ TRACE("Returns %d, Handle %p\n", ret, *OutputHandle);
return ret;
}
@@ -750,7 +749,7 @@ SQLRETURN WINAPI SQLAllocStmt(SQLHDBC ConnectionHandle, SQLHSTMT *StatementHandl
{
SQLRETURN ret;
- TRACE("(Connection=%p)\n",ConnectionHandle);
+ TRACE("(Connection %p)\n", ConnectionHandle);
if (!pSQLAllocStmt)
{
@@ -760,7 +759,7 @@ SQLRETURN WINAPI SQLAllocStmt(SQLHDBC ConnectionHandle, SQLHSTMT *StatementHandl
}
ret = pSQLAllocStmt(ConnectionHandle, StatementHandle);
- TRACE ("Returns ret=%d, Handle=%p\n", ret, *StatementHandle);
+ TRACE ("Returns %d, Handle %p\n", ret, *StatementHandle);
return ret;
}
@@ -851,12 +850,12 @@ SQLRETURN WINAPI SQLCancel(SQLHSTMT StatementHandle)
SQLRETURN WINAPI SQLCloseCursor(SQLHSTMT StatementHandle)
{
SQLRETURN ret;
- TRACE("(Handle=%p)\n",StatementHandle);
+ TRACE("(Handle %p)\n", StatementHandle);
if (!pSQLCloseCursor) return SQL_ERROR;
ret = pSQLCloseCursor(StatementHandle);
- TRACE("returns %d\n",ret);
+ TRACE("Returns %d\n", ret);
return ret;
}
@@ -910,7 +909,7 @@ SQLRETURN WINAPI SQLConnect(SQLHDBC ConnectionHandle,
ret = pSQLConnect(ConnectionHandle, ServerName, NameLength1,
UserName, NameLength2, Authentication, NameLength3);
- TRACE("returns %d\n",ret);
+ TRACE("Returns %d\n", ret);
return ret;
}
@@ -938,7 +937,7 @@ SQLRETURN WINAPI SQLDataSources(SQLHENV EnvironmentHandle,
{
SQLRETURN ret;
- TRACE("EnvironmentHandle = %p\n", EnvironmentHandle);
+ TRACE("(EnvironmentHandle %p)\n", EnvironmentHandle);
if (!pSQLDataSources) return SQL_ERROR;
@@ -947,7 +946,7 @@ SQLRETURN WINAPI SQLDataSources(SQLHENV EnvironmentHandle,
if (TRACE_ON(odbc))
{
- TRACE("returns: %d \t", ret);
+ TRACE("Returns %d \t", ret);
if (NameLength1 && *NameLength1 > 0)
TRACE("DataSource = %s,", ServerName);
if (NameLength2 && *NameLength2 > 0)
@@ -974,7 +973,7 @@ SQLRETURN WINAPI SQLDataSourcesA(SQLHENV EnvironmentHandle,
BufferLength1, NameLength1, Description, BufferLength2, NameLength2);
if (TRACE_ON(odbc))
{
- TRACE("returns: %d \t", ret);
+ TRACE("Returns %d \t", ret);
if (NameLength1 && *NameLength1 > 0)
TRACE("DataSource = %s,", ServerName);
if (NameLength2 && *NameLength2 > 0)
@@ -1008,12 +1007,12 @@ SQLRETURN WINAPI SQLDescribeCol(SQLHSTMT StatementHandle,
SQLRETURN WINAPI SQLDisconnect(SQLHDBC ConnectionHandle)
{
SQLRETURN ret;
- TRACE("(Handle=%p)\n", ConnectionHandle);
+ TRACE("(Handle %p)\n", ConnectionHandle);
if (!pSQLDisconnect) return SQL_ERROR;
ret = pSQLDisconnect(ConnectionHandle);
- TRACE("returns %d\n",ret);
+ TRACE("Returns %d\n", ret);
return ret;
}
@@ -1039,11 +1038,21 @@ SQLRETURN WINAPI SQLError(SQLHENV EnvironmentHandle,
SQLCHAR *MessageText, SQLSMALLINT BufferLength,
SQLSMALLINT *TextLength)
{
- TRACE("\n");
+ SQLRETURN ret;
+
+ TRACE("(EnvironmentHandle %p, ConnectionHandle %p, StatementHandle %p, BufferLength %d)\n",
+ EnvironmentHandle, ConnectionHandle, StatementHandle, BufferLength);
if (!pSQLError) return SQL_ERROR;
- return pSQLError(EnvironmentHandle, ConnectionHandle, StatementHandle,
- Sqlstate, NativeError, MessageText, BufferLength, TextLength);
+ ret = pSQLError(EnvironmentHandle, ConnectionHandle, StatementHandle,
+ Sqlstate, NativeError, MessageText, BufferLength, TextLength);
+ if (ret == SQL_SUCCESS)
+ TRACE("SQLState %s, Error %d, Text %s, Textlen %d\n",
+ debugstr_an((char *)Sqlstate, 5), *NativeError,
+ debugstr_an((char *)MessageText, *TextLength), *TextLength);
+ else
+ TRACE("Returns %d\n", ret);
+ return ret;
}
@@ -1101,12 +1110,12 @@ SQLRETURN WINAPI SQLFetchScroll(SQLHSTMT StatementHandle, SQLSMALLINT FetchOrien
SQLRETURN WINAPI SQLFreeConnect(SQLHDBC ConnectionHandle)
{
SQLRETURN ret;
- TRACE("(Handle=%p)\n",ConnectionHandle);
+ TRACE("(Handle %p)\n", ConnectionHandle);
if (!pSQLFreeConnect) return SQL_ERROR;
ret = pSQLFreeConnect(ConnectionHandle);
- TRACE("Returns %d\n",ret);
+ TRACE("Returns %d\n", ret);
return ret;
}
@@ -1117,12 +1126,12 @@ SQLRETURN WINAPI SQLFreeConnect(SQLHDBC ConnectionHandle)
SQLRETURN WINAPI SQLFreeEnv(SQLHENV EnvironmentHandle)
{
SQLRETURN ret;
- TRACE("(Env=%p)\n",EnvironmentHandle);
+ TRACE("(EnvironmentHandle %p)\n",EnvironmentHandle);
if (!pSQLFreeEnv) return SQL_ERROR;
ret = pSQLFreeEnv(EnvironmentHandle);
- TRACE("Returns %d\n",ret);
+ TRACE("Returns %d\n", ret);
return ret;
}
@@ -1133,12 +1142,12 @@ SQLRETURN WINAPI SQLFreeEnv(SQLHENV EnvironmentHandle)
SQLRETURN WINAPI SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle)
{
SQLRETURN ret;
- TRACE("(Type=%d, Handle=%p)\n",HandleType,Handle);
+ TRACE("(Type %d, Handle %p)\n", HandleType, Handle);
if (!pSQLFreeHandle) return SQL_ERROR;
ret = pSQLFreeHandle(HandleType, Handle);
- TRACE ("Returns %d\n",ret);
+ TRACE ("Returns %d\n", ret);
return ret;
}
@@ -1149,12 +1158,12 @@ SQLRETURN WINAPI SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle)
SQLRETURN WINAPI SQLFreeStmt(SQLHSTMT StatementHandle, SQLUSMALLINT Option)
{
SQLRETURN ret;
- TRACE("(Handle %p, Option=%d)\n",StatementHandle, Option);
+ TRACE("(Handle %p, Option %d)\n", StatementHandle, Option);
if (!pSQLFreeStmt) return SQL_ERROR;
ret = pSQLFreeStmt(StatementHandle, Option);
- TRACE("Returns %d\n",ret);
+ TRACE("Returns %d\n", ret);
return ret;
}
@@ -1917,7 +1926,7 @@ SQLRETURN WINAPI SQLDrivers(
{
SQLRETURN ret;
- TRACE("direction=%d\n", fDirection);
+ TRACE("(Direction %d)\n", fDirection);
if (!pSQLDrivers) return SQL_ERROR;
ret = pSQLDrivers(henv, fDirection, szDriverDesc, cbDriverDescMax, pcbDriverDesc,
@@ -1967,11 +1976,16 @@ SQLRETURN WINAPI SQLDriverConnect(
SQLSMALLINT *ptr_conn_str_out,
SQLUSMALLINT driver_completion )
{
- TRACE("\n");
+ SQLRETURN ret;
+
+ TRACE("(ConnectionString %s, Length %d)\n",
+ debugstr_a((char *)conn_str_in), len_conn_str_in);
if (!pSQLDriverConnect) return SQL_ERROR;
- return pSQLDriverConnect(hdbc, hwnd, conn_str_in, len_conn_str_in, conn_str_out,
+ ret = pSQLDriverConnect(hdbc, hwnd, conn_str_in, len_conn_str_in, conn_str_out,
conn_str_out_max, ptr_conn_str_out, driver_completion);
+ TRACE("Returns %d\n", ret);
+ return ret;
}
@@ -2070,7 +2084,7 @@ SQLRETURN WINAPI SQLConnectW(SQLHDBC ConnectionHandle,
ret = pSQLConnectW(ConnectionHandle, ServerName, NameLength1,
UserName, NameLength2, Authentication, NameLength3);
- TRACE("returns %d\n",ret);
+ TRACE("Returns %d\n", ret);
return ret;
}
@@ -2344,7 +2358,8 @@ SQLRETURN WINAPI SQLDriverConnectW(
SQLSMALLINT *ptr_conn_str_out,
SQLUSMALLINT driver_completion )
{
- TRACE("ConnStrIn (%d bytes) --> %s\n", len_conn_str_in, debugstr_w(conn_str_in));
+ TRACE("(ConnectionString %s, Length %d)\n",
+ debugstr_w(conn_str_in), len_conn_str_in);
if (!pSQLDriverConnectW) return SQL_ERROR;
return pSQLDriverConnectW(hdbc, hwnd, conn_str_in, len_conn_str_in, conn_str_out,
@@ -2511,7 +2526,7 @@ SQLRETURN WINAPI SQLDataSourcesW(SQLHENV EnvironmentHandle,
if (TRACE_ON(odbc))
{
- TRACE("returns: %d \t", ret);
+ TRACE("Returns %d \t", ret);
if (*NameLength1 > 0)
TRACE("DataSource = %s,", debugstr_w(ServerName));
if (*NameLength2 > 0)
@@ -2658,7 +2673,7 @@ SQLRETURN WINAPI SQLDriversW(
{
SQLRETURN ret;
- TRACE("direction=%d\n", fDirection);
+ TRACE("(Direction %d)\n", fDirection);
if (!pSQLDriversW) return SQL_ERROR;
ret = pSQLDriversW(henv, fDirection, szDriverDesc, cbDriverDescMax, pcbDriverDesc,
More information about the wine-patches
mailing list