On Tue, Jul 10, 2012 at 08:22:52AM -0400, Terrence Enger wrote:
> Working with PostgreSQL version 8.4.12-0ubuntu11.04 and with ODBC
> driver versions 1:08.03.0200-1.2 (supplied with ubuntu-natty (11.04))
> and pgsqlodbc-09.01.0100 (built locally), I have managed to provoke a
> segfault by calling SQLSpecialColumns with a null string for the table
> name. This call is, of course, a strange thing to do, and I cannot
> imagine any good result. Still, a segfault seems a disproportionate
> punishment for doing something silly.
Also, the ultimate reason for this "strange thing" is that
SQLColAttribute( (SQLHANDLE) 0x1ec7850,
(SQLUSMALLINT) 1,
(SQLUSMALLINT) 15,
(SQLPOINTER) 0x1eb2640,
128,
(SQLSMALLINT *) 0x7fffffff97de,
NULL);
where 15 == SQL_DESC_TABLE_NAME == SQL_COLUMN_TABLE_NAME
returns (writes at 0x1eb2640) an empty string for this query:
SELECT "Num" "Numero", "data" FROM "foo"."Table1"
Similarly, so do the similar calls with SQL_DESC_CATALOG_NAME and
SQL_DESC_SCHEMA_NAME.
By contrast, they do return good information for query
SELECT "Num" AS "Numero", "data" FROM "foo"."Table1"
That is also a bug in the ODBC driver and should IMHO be fixed.
--
Lionel