============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name : Angelo CONFLITTI
Your email address : mvca@yahoo.com
Category : unknown
Severity : non-critical
Summary: Command "CREATE TABLE AS with SELECT ... UNION" don't work
System Configuration
--------------------
Operating System : Linux 2.2.5 (RedHat 6.0)
PostgreSQL version : 6.5
Compiler used : egcs-2.91.66
Hardware:
---------
i486 24MB RAM, on intranet ethernet, no X-window
Versions of other tools:
------------------------
gmake 3.77, flex 2.5.4
--------------------------------------------------------------------------
Problem Description:
--------------------
Excuse for my english.
Table description (name=PARTNERS):
id char(6),
cogn char(20),
ids1 char(6),
ids2 char(6),
importo int8
The query:
CREATE TABLE pippo AS
SELECT a.id,a.cogn,b.id AS id1,b.importo AS imp1,null AS id2,b.importo AS imp2
FROM partners a, parteners b
WHERE a.id=b.ids1
UNION
SELECT a.id,a.cogn,null AS id1,null AS imp1,b.id AS id2,importo AS imp2
FROM partners a, partners b
WHERE a.id=b.ids2
The error message of Postgre is "ERROR: parser: parse error at or near "union".
With the PostgreSQL 6.4.2 it's work.
In PostgreSQL 6.5, if I use the command SELECT ... INTO TABLE, it's work.
A little difference between Postgre6.5 and Postgre6.4.2: if I have, in a table, a unknown field type (this is generated
froma "SELECT ... null AS imp2 ... INTO TABLE ..." or "CREATE TABLE AS...")
and run a SELECT SUM(...) of the unknown field the PostgreSQL 6.5 answer: "ERROR: Aggregate type mismatch sum() works
onnumeric, not on unknown";
with PostgreSQL 6.4.2 the SUM() function of the unknown field work.
Thank you for your precious PostgreSQL!! :-))
It's a usefull program. I hope to repay your enterprise.
Enjoy.
--------------------------------------------------------------------------
Test Case:
----------
--------------------------------------------------------------------------
Solution:
---------
--------------------------------------------------------------------------