On 05.12.2002 at 23:06 Reggie Burnett wrote:
>I'm working on a new interface to PostgreSQL and having a difficult
>time.
>Perhaps someone here can shed some light on the subject.
>
>1. Am I correct in thinking that the OID that I receive with the
>RowDescription is the column type? I have several of those defined from
I am not an expert in this ... but ususally the OID is just the internal
'key' for a record (OID = Object IDentyfier). For RowDescription it _may_
be always the same for predefined types but you should not rely on them!
>the
>7.3 source code. Have those changed in the past and are they likely to
>change in the future? I have heard people talking about querying the
>server
>for type names or type oid values but I can't believe it is that
>difficult.
That shouldn't be too hard. The thing about the OID is, that it is
garanteed to stay the same as long as you are working with the same
DB. So once checked you further only need the OID to cleanly recognize
the rowtype. 'Once' here means once per session. Over a network you
can't see if someone changed the DB "over night" :-)
>
>2. How do I receive the column modifers such as not null, primary key,
>indexed, etc. I know RowDescription sends down type modifiers but on an
>int4 column that field is always -1. I use another client app to change
>the
>column from allowing nulls to not allowing nulls (same value in column).
>The client app as well as psql on Linux sees the change but my interface
>still receives just -1 for the type modifier. What am I missing?
>
>If there is someplace that has the oids documented or the low-level
>constants documented, I would love to see that.
Andreas