Re: Object IDs in Parse message

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Malcolm Matalka <mmatalka(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-interfaces(at)lists(dot)postgresql(dot)org
Subject: Re: Object IDs in Parse message
Date: 2019-09-04 09:49:21
Message-ID: CADK3HHK0A-YFY=3cdtu7VCNc6HVTD69cLE6iw+L4LbPGGmeVog@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

On Wed, 4 Sep 2019 at 03:45, Malcolm Matalka <mmatalka(at)gmail(dot)com> wrote:

>
> Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
>
> > Malcolm Matalka <mmatalka(at)gmail(dot)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

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2019-09-04 14:05:03 Re: Object IDs in Parse message
Previous Message Malcolm Matalka 2019-09-04 07:39:47 Re: Object IDs in Parse message