Re: Selecting a constant question

Поиск
Список
Период
Сортировка
От Dann Corbit
Тема Re: Selecting a constant question
Дата
Msg-id D425483C2C5C9F49B5B7A41F894415470100070D@postal.corporate.connx.com
обсуждение исходный текст
Ответ на Re: Selecting a constant question  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Selecting a constant question  (Hannu Krosing <hannu@skype.net>)
Список 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Selecting a constant question
Следующее
От: Gregory Stark
Дата:
Сообщение: Re: Selecting a constant question