using domain types with ODBC, esp. lo

From: Andreas Pflug <Andreas(dot)Pflug(at)web(dot)de>
To: pgsql-odbc(at)postgresql(dot)org
Subject: using domain types with ODBC, esp. lo
Date: 2003-03-21 16:19:51
Message-ID: 3E7B3BA7.20709@web.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces pgsql-odbc

In my schema definitions, I usually don't use basic datatypes, but self
defined domains. This seems to work in general, but I encountered
problems with blobs.
I'm using CREATE DOMAIN t_image AS lo;
While inserting data isn't sensitive to domains, selecting won't work.
The reason is that the row's datatype obtained with CI_read_fields is
compared to lo's oid. t_image's oid is different, so the column is
handled wrong. This means, that at the moment domains are not usable on
lo columns with ODBC.
As a workaround, the driver could maintain an internal list of domain's
oids, mapping them to lo's oid when CI_read_fields detects one.

There might be another flaw inside CI_read_fields.
The well-known data types PG_TYPE_DATETIME, PG_TYPE_TIMESTAMP_NO_TMZONE,
PG_TYPE_TIME, PT_TYPE_TIME_WITH_TMZONE are handled in a special way
concerning the atttypmod field. This will fail for domain types of that
base type.

Actually, best thing for this problems would be if the backend would
deliver the base type oid, not the user type oid.
And lo could be hard-coded to the backend too... :-)

Regards,

Andreas

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2003-03-21 16:31:52 Re: using domain types with ODBC, esp. lo
Previous Message Bruce Momjian 2003-03-21 16:15:32 Re: Roadmap for FE/BE protocol redesign

Browse pgsql-odbc by date

  From Date Subject
Next Message Tom Lane 2003-03-21 16:31:52 Re: using domain types with ODBC, esp. lo
Previous Message Hiroshi Inoue 2003-03-21 15:50:59 Re: password leak in mylog thru win odbc