8.3/8.4 SQL incompatibility?

From: Britt Piehler <brittp(at)labkey(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: 8.3/8.4 SQL incompatibility?
Date: 2009-12-16 17:31:37
Message-ID: 4B291979.9010601@labkey.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2009-12-16 20:23:09 Re: 8.3/8.4 SQL incompatibility?
Previous Message Oliveiros C, 2009-12-11 17:40:00 Re: Is there any function to test for numeric ips?