Re: Selecting a constant question - Mailing list pgsql-hackers

From Dann Corbit
Subject Re: Selecting a constant question
Date
Msg-id D425483C2C5C9F49B5B7A41F894415470100070D@postal.corporate.connx.com
Whole thread Raw
In response to Re: Selecting a constant question  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Selecting a constant question  (Hannu Krosing <hannu@skype.net>)
List pgsql-hackers
> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: Monday, June 11, 2007 1:32 PM
> To: Dann Corbit
> Cc: Gregory Stark; pgsql-hackers@postgresql.org
> Subject: Re: [HACKERS] Selecting a constant question
>
> "Dann Corbit" <DCorbit@connx.com> writes:
> > The issue is this:
> > Postgres describes the column with a typmod of -1 (unknown) and a
length
> > of 65534.
>
> Oh, you're looking at typlen not typmod.  Please observe the comments
in
> pg_type.h:
>
>     /*
>      * For a fixed-size type, typlen is the number of bytes we use
to
>      * represent a value of this type, e.g. 4 for an int4.    But for
> a
>      * variable-length type, typlen is negative.  We use -1 to
indicate
> a
>      * "varlena" type (one that has a length word), -2 to indicate a
>      * null-terminated C string.
>      */
>     int2        typlen;
>
> You should be treating typlen as signed not unsigned, and not assuming
a
> fixed width for any negative value.
>
> Since the width refers to the server internal representation, and not
to
> what comes down the wire, I find it pretty strange for an application
to
> be using typlen for anything at all actually.

Thanks for the response.

Since libpq function PQfsize returns -2 for all constant character
strings in SQL statements ... What is the proper procedure to determine
the length of a constant character column after query execution but
before fetching the first row of data?



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Selecting a constant question
Next
From: Gregory Stark
Date:
Subject: Re: Selecting a constant question