Re: ARRAY[1] || NULL <> array_append(ARRAY[1], NULL)

Поиск
Список
Период
Сортировка
От Michael Herold
Тема Re: ARRAY[1] || NULL <> array_append(ARRAY[1], NULL)
Дата
Msg-id 562DFAB8.9050507@hemio.de
обсуждение исходный текст
Ответ на Re: ARRAY[1] || NULL <> array_append(ARRAY[1], NULL)  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: ARRAY[1] || NULL <> array_append(ARRAY[1], NULL)
Список pgsql-docs
I just got confused by another behavior of the || operator. I thought it
might be appropriate to report it here.

The docs say "the result retains the lower bound subscript of the
left-hand operand’s outer dimension" [1]. That's again not true for
corner cases.

Expected:
# SELECT '{0}'::int[] || '[15:16]={1,2}';
----------
  {0,1,2}

Unexpected (lower bound is untouched):
# SELECT '{}'::int[] || '[15:16]={1,2}';
---------------
  [15:16]={1,2}

Actually, I was looking for a way to reset the index lower bound of an
array to the default. I didn't found a solution documented anywhere, [2]
only works for known array sizes. So, it might also be worth stating
ARRAY(SELECT UNNEST(...)) as a solution?

[1]: <http://www.postgresql.org/docs/9.5/static/arrays.html>
[2]: <http://www.postgresql.org/message-id/40854D0B.6000005@cromwell.co.uk>


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

Предыдущее
От: Alexander Lakhin
Дата:
Сообщение: Re: Moving documentation to XML
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: [HACKERS] max_worker_processes on the standby