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