ODBC Interface Bug in version 07_01_0005

From: Mister X <mister_ics(at)hotmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: ODBC Interface Bug in version 07_01_0005
Date: 2001-06-13 06:39:10
Message-ID: GQknO9bSi7citr4T1aZ9FqDWn46C@4ax.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi,

developing in MFC/Visual Studio 6 I've encountered a strange problem
in last version of ODBC Driver (actually 07_01_0005). Each time a SQL
error occours, the istructions TRY/ CATCH doesn't report the error
string: the CDBException ' member m_strError is empty
Follows an example:

// MFC C++ Code

CDatabase myDB;

[.....] // Init and Open database...

//create a table with a WRONG SQL statement:

CString sSQLStatement="CREATE TABLE Dummy ( int DummyID, )";
// The statement is WRONG beacuse the comma
after the last column definition.

//Executes The statement and catch errors:

TRY
{
myDB.ExecuteSQL(sSQLStatement);
}
CATCH(CDBException, e)
{
AfxMessageBox(e->m_strError);
}
END_CATCH

Well, with driver version v06-50-0000 i got the string "Error
creating the table; ERROR: parser: parse error at or near ")", that
it is the correct error message from the back-end.
Instead, with Version 07_01_0005 of the ODBC driver, the string
e->m_strError is always empty, and the member m_nRetCode of
CDBException class is = -1;
Handling errors with C++ exception is a great thing, i thing this is a
bug of ODBC driver. The only way to discover the SQL errors reported
by the back-end is to analyze the driver connection log, after each
SQLExecute failed istruction, and it is not very very confortable for
the programmer :)

Thank you.

Silvio. mister_ics(at)hotmail(dot)com

Browse pgsql-bugs by date

  From Date Subject
Next Message pgsql-bugs 2001-06-13 12:35:47 "WHERE col NOT IN" yields falsely empty result.
Previous Message Vinod Kurup 2001-06-13 02:39:54 Re: coalesce in execute crashes backend