Re: different empty array syntax requirements

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: different empty array syntax requirements
Дата
Msg-id 14071.1461292673@sss.pgh.pa.us
обсуждение исходный текст
Ответ на different empty array syntax requirements  (Scott Ribe <scott_ribe@elevated-dev.com>)
Ответы Re: different empty array syntax requirements  (Scott Ribe <scott_ribe@elevated-dev.com>)
Список pgsql-general
Scott Ribe <scott_ribe@elevated-dev.com> writes:
> How is that one pgsql build (both are 9.5.2) has different casting behavior for empty arrays:
> pedcard=# select (ARRAY[])::text[];
> ERROR:  cannot determine type of empty array
> LINE 1: select (ARRAY[])::text[];
>                 ^
> HINT:  Explicitly cast to the desired type, for example ARRAY[]::integer[].

... wtf?

[ thinks for awhile ... ]

Oh!  I bet this explains it:

regression=#  select (ARRAY[])::text[];
 array
-------
 {}
(1 row)

regression=# set operator_precedence_warning = on;
SET
regression=#  select (ARRAY[])::text[];
ERROR:  cannot determine type of empty array
LINE 1: select (ARRAY[])::text[];
                ^
HINT:  Explicitly cast to the desired type, for example ARRAY[]::integer[].


The parens turn into an actual parsetree node when
operator_precedence_warning is on, and the cast-of-an-array hack doesn't
know it should look through such a node.  That's a bug.  Will fix it.

            regards, tom lane


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

Предыдущее
От: Alvaro Aguayo Garcia-Rada
Дата:
Сообщение: Re: different empty array syntax requirements
Следующее
От:
Дата:
Сообщение: Fw: new important message