Re: DataType OID for PQexecParams-call in libpq - Mailing list pgsql-interfaces

From Mark Richardson
Subject Re: DataType OID for PQexecParams-call in libpq
Date
Msg-id 20040805202229.81960.qmail@web53309.mail.yahoo.com
Whole thread Raw
In response to DataType OID for PQexecParams-call in libpq  ("Jan Klostermann" <klostermann@rhf.de>)
List 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


Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!

pgsql-interfaces by date:

Previous
From: Alex Ott
Date:
Subject: working with big text fields
Next
From: Roman Luchyshyn
Date:
Subject: Probrem when select data with large objects