Re: [ODBC] BLOB handling compatibility with PostgreSQL > 7.4

Поиск
Список
Период
Сортировка
От Ludek Finstrle
Тема Re: [ODBC] BLOB handling compatibility with PostgreSQL > 7.4
Дата
Msg-id 20051205212806.GA17690@soptik.pzkagis.cz
обсуждение исходный текст
Ответы Re: [ODBC] BLOB handling compatibility with PostgreSQL > 7.4  (Ludek Finstrle <luf@pzkagis.cz>)
Список pgsql-interfaces
> We would like to upgrade the Postgres version from our current 7.3 but
> have problems with handling BLOBs via ODBC.
> We use unixODBC-2.2.11 and psqlodbc-08.01.0101.
> With postgres 7.3 lo type was mapped to SQL_C_BINARY and that's changed
> since postgres 7.4.
> Is it an ODBC or a driver issue? Are there any plans to fix the problem?

Hello,

  Irine report problem with ODBC. I take deep look at it and find that
lib return base type aid instead of type aid. I'll describe it better.
We have this test suite:

CREATE DOMAIN lo as oid;
CREATE TABLE ow)(b lo);

insert one row:
INSERT INTO es=# select oid from pg_type where typname='lo'; VALUES (lo_import('file'));

we try get it throught libpq (maybe I miss some command):
- PQsetNoticeProcessor(, CC_handle_notice, qres);
- pgres = PQexec(pgconn,query);
- PQsetNoticeProcessor(pgconn, CC_handle_notice, NULL);
...
- typid = PQftype(pgres,i);
    this return typid = 26 (oid) instead of 25087 (lo)

postgres=# select oid from pg_type where typname='oid';
 oid
-----
  26
(1 row)
postgres=# select oid from pg_type where typname='lo';
  oid
-------
 25087
(1 row)

Is there a way to get 25087? It seems this behaviour is changed between
PgSQL 7.3 and 7.4. It looks like backend issue. Becouse with same binary
it return different values for 7.3 and  >= 7.4 (all PgSQL > 7.3 return
typid = 26 - directly tested 7.4, 8.1).

Thanks a lot for help

Luf

В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: PL/Python set returning functions
Следующее
От: Ludek Finstrle
Дата:
Сообщение: Re: [ODBC] BLOB handling compatibility with PostgreSQL > 7.4