Re: is 8.4 array_agg() supposed to work with array values?

Поиск
Список
Период
Сортировка
От Todd A. Cook
Тема Re: is 8.4 array_agg() supposed to work with array values?
Дата
Msg-id 497746D4.1050606@blackducksoftware.com
обсуждение исходный текст
Ответ на Re: is 8.4 array_agg() supposed to work with array values?  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-hackers
Peter Eisentraut wrote:
> On Monday 19 January 2009 23:22:21 Todd A. Cook wrote:
>> The docs at
>> http://developer.postgresql.org/pgdocs/postgres/functions-aggregate.html
>> don't prohibit using array values with array_arg(), so I assumed that it
>> would work.
> 
>> test=> select array_agg(v.a) from (values (array[1,2]), (array[3,4])) as
>> v(a) ; ERROR:  could not find array type for data type integer[]
> 
> Yeah ... This is one of the weirdnesses of the PostgreSQL array 
> implementation.  integer[] and integer[][] etc. are actually the same type, 
> just using a different number of dimensions internally.  This would work much 
> better if integer[][] where "array of integer[]", in the same way as 
> integer[] is "array of integer", in the way C deals with arrays.  This is 
> also a main reason why composite types and arrays don't mix orthogonally; 
> there is no way to represent that in the system catalogs.  To get back to 
> your question, as far as array_agg() itself is concerned, it would probably 
> work, but the rest of the sytem doesn't deal with it very well.  You will 
> probably be able to find a number of other places that break when trying to 
> derive the array type from something that is already an array.

Thanks for the clarification.

-- todd


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Re: [COMMITTERS] pgsql: Explicitly bind gettext() to the UTF8 locale when in use.
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: pg_restore -1 vs -C and -c