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
|
| Список | 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 по дате отправления: