With 8.4RC1, I get the following error with the SQL below.
ERROR: failed to find conversion function from unknown to character varying
SQL state: XX000
SELECT 0 AS "C1", cast('a' as varchar) AS "C2"
UNION ALL
SELECT 1 AS "C1", "X"."XX" AS "C2"
FROM ( SELECT NULL AS "XX" ) AS "X"
WHERE TRUE = FALSE
Compare that SQL to this:
SELECT 0 AS "C1", cast('a' as varchar) AS "C2"
UNION ALL
SELECT 1 AS "C1", NULL AS "C2"
WHERE TRUE = FALSE
The second works without the nested subquery.
I ran into SQL like the above when trying to use the Npgsql .Net driver 2.0.5 via Microsoft's Entity Framework
(edmgen.exe). It happened against two different databases. Both have UTF-8 encoding and English, United States
language.
--
Eric