This is a discussion on Re: NULL value in subselect in UNION causes error within the pgsql Hackers forums, part of the PostgreSQL category; --> Jan Wieck <JanWieck@Yahoo.com> writes: > Checked it against HEAD and 8.2: > postgres=# select 1, 1, 1 union select ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Jan Wieck <JanWieck@Yahoo.com> writes: > Checked it against HEAD and 8.2: > postgres=# select 1, 1, 1 union select * from (select 2, null, 2) two; > ERROR: failed to find conversion function from "unknown" to integer It's always done that. The SQL spec would tell you that you have to cast the null to some specific type. We allow untyped nulls in contexts where we can derive a type from reasonably nearby context, but an integer two levels up and over in another union arm isn't very nearby IMHO. So I'm not particularly concerned about making this work ... regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| ||||
| On 1/26/2007 3:41 PM, Tom Lane wrote: > Jan Wieck <JanWieck@Yahoo.com> writes: >> Checked it against HEAD and 8.2: >> postgres=# select 1, 1, 1 union select * from (select 2, null, 2) two; >> ERROR: failed to find conversion function from "unknown" to integer > > It's always done that. The SQL spec would tell you that you have to > cast the null to some specific type. We allow untyped nulls in contexts > where we can derive a type from reasonably nearby context, but an > integer two levels up and over in another union arm isn't very nearby > IMHO. So I'm not particularly concerned about making this work ... That explains. Thanks. Jan -- #================================================= =====================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================= = JanWieck@Yahoo.com # ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate |