Re: Array question

Andrew Dunstan <[email protected]>
Newsgroups gmane.comp.db.postgresql.dbdpg
Message-ID <[email protected]>

David E. Wheeler wrote:
> On Sep 7, 2009, at 6:29 PM, Alvar Freude wrote:
>
>> I tried to set an "PG_ANYARRAY" or "PG_TEXTARRAY" type manually with 
>> ->bind_col(), but this does not help.
>>
>>
>> Any ideas how I can get an array for this?
>>
>> Or is there a PostgreSQL Array parser? ;-)
>
> I believe that this is a deficiency in DBD::Pg. Another deficiency is 
> in its inability to determine that a user-defined type should be 
> converted to utf8 when pg_enable_utf8 is set, such as for the CITEXT 
> contrib type (discussion here: 
> http://markmail.org/message/mqqz76vdlxibyoyw#query:DBD%3A%3APg%20citext+page:1+mid:mqqz76vdlxibyoyw+state:results). 
>
>
> The issue is that DBD::Pg needs to be smarter about identifying data 
> types and data type categories (citext is of category "S", for string 
> in 8.4 and later). At least, that's my best guess.
>
>

No doubt it's possible to have DBD::Pg learn about user-defined 
composites and arrays of them, although the code for doing so might get 
a bit elaborate, but how would it handle a type defined in C, the 
representation of which it has no way of knowing about at all? I think 
we have to accept that the existence of type extensibility in Postgres 
means that there will be at least some types that DBD::Pg has to treat 
as opaque bits of text.

That's not to say that it shouldn't learn about some types in contrib 
like citext and hstore.

cheers

andrew
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.