Re: DataType OID for PQexecParams-call in libpq

From: "Richardson Mark" <MRichardson(at)SpaceImaging(dot)com>
To: <pgsql-interfaces(at)postgresql(dot)org>
Subject: Re: DataType OID for PQexecParams-call in libpq
Date: 2004-08-05 20:17:32
Message-ID: 79B88CFF7CD141438CF5C022134B5EB3C80A8E@imager8.corp.spaceimaging.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Tom Lane writes:
>>Gergely Czuczy <phoemix ( at ) harmless ( dot ) hu> writes:
>> please take a look at the documentation at
>> <http://www.postgresql.org/docs/7.4/static/libpq-exec.html>
>> at the point "PQftype", where it's said:
>> " The OIDs of the built-in data types are defined in the file
>> src/include/catalog/pg_type.h in the source tree."

>Also, you can get the OID on the fly, eg with
> SELECT oid FROM pg_type WHERE typname = ...
> For standard built-in types it's >okay to hard-wire OID values into your > code, but if you want to be able to deal with user-defined types you
> shouldn't rely on the OID being constant.
> regards, tom lane

The pg_type.h file has all sorts of other stuff in it - so including it while coding a client I makes a mess - I would like to have access to the "standard" values (especially since OID's are used in the libpq C interface for select). So, the select statement "select oid from pg_type where typename=.." can't be processed because you need to know the oid of the value coming back from that select statement (never ending loop!). I would love to see something like pg_oid_type.h that is something like this..
enum OID_TYPES
{
BOOLOID=16,
BYTEAOID=17,
CHAROID=18,
...
}
so that its easy to get the value of a specific oid, but you can also type cast easily (or have an array of the OID_TYPES). I know this doesn't handle the user defined types, but I think it would be very helpfull (or some defines for the pg_type.h file so that we can get just the oids, and not everything else for a client).

My 2 cents
Mark

********************************************************************************
This message is intended only for the use of the Addressee and may
contain information that is PRIVILEGED and CONFIDENTIAL.

If you are not the intended recipient, you are hereby notified that any
dissemination of this communication is strictly prohibited. If you have
received this communication in error, please erase all copies of the
message and its attachments and notify Space Imaging immediately.
********************************************************************************

Browse pgsql-interfaces by date

  From Date Subject
Next Message Mark Richardson 2004-08-05 20:22:29 Re: DataType OID for PQexecParams-call in libpq
Previous Message Roman Luchyshyn 2004-08-04 10:11:19 Probrem when select data with large objects