Scott Ribe <[email protected]> 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
--
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general