8.3/8.4 SQL incompatibility?
От | Britt Piehler |
---|---|
Тема | 8.3/8.4 SQL incompatibility? |
Дата | |
Msg-id | 4B291979.9010601@labkey.com обсуждение исходный текст |
Ответы |
Re: 8.3/8.4 SQL incompatibility?
|
Список | 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
В списке pgsql-sql по дате отправления: