A generated query of ours broke on upgrade from PG 8.3.3 to 8.4.1 with the following error:
ERROR: failed to find conversion function from unknown to character varying
SQL state: XX000

I've narrowed it down to sub-selects in union clauses, as in the test script below, which runs successfully on 8.3.3, but fails on 8.4.1. To reproduce:
CREATE TABLE temp.TestTable
(
   TestColumn VARCHAR(20)
);

(SELECT A.TestColumn FROM (SELECT 'TestValue' AS TestColumn FROM temp.TestTable) A)
UNION
(SELECT B.TestColumn FROM (SELECT TestColumn FROM temp.TestTable) B);

Adding an explicit VARCHAR cast to the 'TestValue' string literal fixes the issue. This is nearly identical to http://archives.postgresql.org/pgsql-hackers/2009-06/msg01356.php, but Tom's reply there says that query hasn't worked since 7.1, while my query worked in 8.3.3. Can anyone tell me if this is a known/expected incompatibility, or if this is a bug?

Thanks,
Britt

--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to