Re: Object IDs in Parse message - Mailing list pgsql-interfaces

From Dave Cramer
Subject Re: Object IDs in Parse message
Date
Msg-id CADK3HHK0A-YFY=3cdtu7VCNc6HVTD69cLE6iw+L4LbPGGmeVog@mail.gmail.com
Whole thread Raw
In response to Re: Object IDs in Parse message  (Malcolm Matalka <mmatalka@gmail.com>)
List pgsql-interfaces


On Wed, 4 Sep 2019 at 03:45, Malcolm Matalka <mmatalka@gmail.com> wrote:

Tom Lane <tgl@sss.pgh.pa.us> writes:

> Malcolm Matalka <mmatalka@gmail.com> writes:
>> Hello, I'm implementing my own pgsql client for fun and I'm trying to
>> understand how to send a Parse message.  The final parameter to Parse is
>> a series of Int32s with the description:
>> Specifies the object ID of the parameter data type. Placing a zero here
>> is equivalent to leaving the type unspecified.
>
>> But where do I find the list of object IDs?
>
> SELECT oid, typname FROM pg_type;
>
>> If so, It's not clear how to express some things.  For example there is
>> a MONEYARRAYOID, but no MONEYOID.
>
> For historical reasons, the macro for money's OID is CASHOID.
> There's no grandfathered symbol for money[], though, so that
> gets a name constructed per standard rules (cf form_pg_type_symbol
> in genbki.pl).
>
> However, I fail to see why a generic client would need to know that.
> If you're hard-wiring OIDs into your code for anything beyond very
> basic types like int4, you're probably doing it wrong.  Remember

Ok, it wasn't clear to me if and when I should pass this data in.  I
couldn't find any documentation for this translating to performance
improvement, or addressing any possible errors due to ambiguity in
types.  In general, should an interface no pass that information in on a
Parse?  Is there a reason to do it?

Yes, if you ever decide to use binary mode for the parameters and the results then you need to know the type
The jdbc driver and the .net driver both do this.

Dave

pgsql-interfaces by date:

Previous
From: Malcolm Matalka
Date:
Subject: Re: Object IDs in Parse message
Next
From: Tom Lane
Date:
Subject: Re: Object IDs in Parse message