The following bug has been logged on the website:
Bug reference: 6626
Logged by: Will Leinweber
Email address: will@heroku.com
PostgreSQL version: 9.1.3
Operating system: ubuntu 10.04
Description:=20=20=20=20=20=20=20=20
This was surprising because it worked without the UNION ALL. Casting to text
fixes the problem. It seems that this should a column of type unknown.
deik3qfhu265n6=3D> with hello as (select 'hello' as name)
, bye as (select 'bye' as name)
select * from hello;
name=20=20
-------
hello
(1 row)
deik3qfhu265n6=3D> 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
deik3qfhu265n6=3D> with hello as (select 'hello'::text as name)
deik3qfhu265n6-> , bye as (select 'bye'::text as name)
deik3qfhu265n6-> select * from hello UNION ALL select * from bye;
name=20=20
-------
hello
bye
(2 rows)
deik3qfhu265n6=3D> \x
Expanded display is on.
deik3qfhu265n6=3D> select version();
-[ RECORD 1
]--------------------------------------------------------------------------=
---------------------------------
version | PostgreSQL 9.1.3 on x86_64-unknown-linux-gnu, compiled by
gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3, 64-bit