Re: BUG #6626: union all with values of type "unknown" - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #6626: union all with values of type "unknown"
Date
Msg-id 7003.1337716549@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #6626: union all with values of type "unknown"  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: BUG #6626: union all with values of type "unknown"  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-bugs
Robert Haas <robertmhaas@gmail.com> writes:
>> deik3qfhu265n6=> with hello as (select 'hello' as name)
>> deik3qfhu265n6-> , bye as (select 'bye' as name)
>> deik3qfhu265n6-> select * from hello UNION ALL select * from bye;
>> ERROR:  failed to find conversion function from unknown to text

> I think it should return a column of type text, just as if you'd done this:
> select v from (select 'hello' union all select 'bye') x(v);

I don't think it's a great idea to make CTEs handle this differently
from other places where the same issue arises (from memory, views and
INSERT/SELECT have problems with unknown literals, and there are
probably other places I'm forgetting).

Should we institute a uniform policy of forcing unknown sub-select
outputs to text type?  This would almost certainly break a few peoples'
queries, but the reduction of surprise might be worth it for most.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Robert Haas
Date:
Subject: Re: pg_dump: SQL command failed
Next
From: Robert Haas
Date:
Subject: Re: BUG #6626: union all with values of type "unknown"