Re: [HACKERS] TCL_ARRAYS code in libpgtcl is pretty seriously broken - Mailing list pgsql-hackers

From Thomas G. Lockhart
Subject Re: [HACKERS] TCL_ARRAYS code in libpgtcl is pretty seriously broken
Date
Msg-id 3618195E.6FE14EF6@alumni.caltech.edu
Whole thread Raw
In response to TCL_ARRAYS code in libpgtcl is pretty seriously broken  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] TCL_ARRAYS code in libpgtcl is pretty seriously broken
List pgsql-hackers
> 1. Blithely assumes that any data value beginning with '{' and ending
> with '}' must represent an array value.  Should have some more robust
> way of discovering whether a column is array type.  (In fairness, this
> might require a FE/BE protocol change, unless arrayness can be
> determined from the tuple descriptors provided by the backend, ie,
> field type OID, size, and attmod.  Anybody know a way to do that?)
> Comments?

Postgres seems to use a convention that a type name which starts with an
underscore is the array type for the corresponding non-underscore,
non-array type. Also, the typelem field in pg_type is non-zero for array
types.

This isn't a definitive answer and there may be another way to discover
array-ness but it's where I would look. Not sure if you'd be happy
having to do a select on pg_type for every query unless you're doing it
already...

                    - Tom

pgsql-hackers by date:

Previous
From: "Marc G. Fournier"
Date:
Subject: Re: [HACKERS] Re: CIDR/IP types. Was: [GENERAL] big numbers
Next
From: "Thomas G. Lockhart"
Date:
Subject: Re: [COMMITTERS] 'pgsql/doc/src/sgml protocol.sgml'