> 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