Re: unnest on multi-dimensional arrays

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: unnest on multi-dimensional arrays
Дата
Msg-id 27706.1385651027@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: unnest on multi-dimensional arrays  (David Johnston <polobo@yahoo.com>)
Ответы Re: unnest on multi-dimensional arrays  (Zev Benjamin <zev-pgsql@strangersgate.com>)
Список pgsql-general
David Johnston <polobo@yahoo.com> writes:
> Zev Benjamin wrote
>> It appears that unnest, when called on a multi-dimensional array,
>> effectively flattens the array first.  For example: ...

> Multidimensional arrays do have shortcomings in the current implementation
> of which this is one.  I'm not sure, though, if there is anything
> substantial and centralized in the docs so pertaining.

It might be worth explaining that this is a consequence of the fact that
Postgres treats all arrays over the same element type as being of the
same data type --- that is, 1-D and 2-D arrays are not distinguished
by the type system.  Thus, when the polymorphic function "unnest(anyarray)
returns setof anyelement" is applied to an integer array, it must return
a series of integers; not a series of lower-dimensional arrays.

There have been some discussions over whether this could be changed
without a backwards-compatibility disaster, but nobody sees how.

            regards, tom lane


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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: Will be Wildspeed inside Postgresql contrib?
Следующее
От: bricklen
Дата:
Сообщение: Re: unnest on multi-dimensional arrays