UNION discards indentical rows in postgres 7.3.3 - Mailing list pgsql-bugs

From Silvio Scarpati
Subject UNION discards indentical rows in postgres 7.3.3
Date
Msg-id 6rsyPxMhIPNgYKMTRn8tDUVCtCP8@4ax.com
Whole thread Raw
Responses Re: UNION discards indentical rows in postgres 7.3.3  (Rod Taylor <rbt@rbt.ca>)
Re: UNION discards indentical rows in postgres 7.3.3  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-bugs
Hi Tom,

this seems a serious bug:

testdb=>
testdb=> create table t1(a int, b text);
CREATE TABLE
testdb=> create table t2(a int, b text);
CREATE TABLE
testdb=> insert into t1 values(1,'pippo');
INSERT 7591667 1
testdb=> insert into t1 values(2,'pluto');
INSERT 7591668 1
testdb=> insert into t2 values(3,'paperino');
INSERT 7591669 1
testdb=> insert into t2 values(3,'paperino');
INSERT 7591670 1

select a,b from t1 union (select a,b from t2);
 a |    b
---+----------
 1 | pippo
 2 | pluto
 3 | paperino
(3 rows)

Wrong ! The query should return 4 rows. In other words i don't know
why postgres performs the following query:

select a,b from t1 union (select DISTINCT a,b from t2);

instead of the required one.

I think i's a bug.

Thank you.

Silvio Scarpati

pgsql-bugs by date:

Previous
From: "Marc G. Fournier"
Date:
Subject: Testing gateway
Next
From: Rod Taylor
Date:
Subject: Re: UNION discards indentical rows in postgres 7.3.3