Thread: BUG #2267: Accessing large objects via ODBC

BUG #2267: Accessing large objects via ODBC

From
"Gerhard Lutz"
Date:
The following bug has been logged online:

Bug reference:      2267
Logged by:          Gerhard Lutz
Email address:      gerhard.lutz@mbtech-group.com
PostgreSQL version: 8.1.3
Operating system:   Windows XP SP2
Description:        Accessing large objects via ODBC
Details:

I want to upgrade my PostgreSQL server from 8.0.4 to 8.1.3.
My C++ application connects to the database via ODBC (ODBC driver:
PostgreSQL Unicode).

I've installed 8.1.3 with "large objects (lo)" and created a table

CREATE testdata
(id integer not null,
buffer lo);

So far this worked.
Now if I want to get the 'buffer' column

::SQLExecDirect(m_hStmt, (unsigned char*)"SELECT buffer FROM testdata WHERE
id=6", SQL_NTS);
::SQLFetch(m_hStmt);
::SQLGetData(m_hStmt, nCol, SQL_C_BINARY, pBuffer, nPacketSize,
&sdODataLength);

I get the error message

"Received an unsupported type from Postgres. (14)"

In PostgreSQL 8.0.4 this worked without a problem.
In 8.1.3 I can also see in pgAdmin III that there are no functions lo_in(lo)
and lo_out(lo) in the tree.

Perhaps this is an installation bug in 8.1.3?