Without an order by, the order is not defined. The answers are the same but the test gives a false failure because of the lack of ordering.
Regards, Ken On Thu, Nov 19, 2009 at 07:54:30PM -0500, Emmanuel Cecchet wrote: > Tom Lane wrote: >> Andrew Dunstan <and...@dunslane.net> writes: >> >>> Emmanuel Cecchet wrote: >>> >>>> Is it just me or the union test case fails in CVS head? >>>> >> >> >>> The buildfarm is pretty much all green: >>> <http://www.pgbuildfarm.org/cgi-bin/show_status.pl> >>> So it looks like it's you :-) >>> >> >> When in doubt, try "make distclean" and a full rebuild before assuming >> you've got a problem worth tracking down ... >> > Well, I did: > 1. make distclean > 2. configure with CFLAGS=-O0 --enable-cassert --enable-debug --without-perl > --without-python --without-tcl --without-openssl > 3. make (everything normal) > 4. make check > And it still fails for me. I am attaching my regression.diffs if someone > thinks it is worth tracking down ... > > Emmanuel > *** /home/manu/workspace/PG-HEAD/src/test/regress/expected/union.out > 2009-02-09 16:18:28.000000000 -0500 > --- /home/manu/workspace/PG-HEAD/src/test/regress/results/union.out > 2009-11-19 19:37:32.000000000 -0500 > *************** > *** 198,208 **** > WHERE f1 BETWEEN 0 AND 1000000; > five > ----------------------- > - -1004.3 > - -34.84 > - -1.2345678901234e-200 > 0 > 123456 > (5 rows) > > SELECT CAST(f1 AS char(4)) AS three FROM VARCHAR_TBL > --- 198,208 ---- > WHERE f1 BETWEEN 0 AND 1000000; > five > ----------------------- > 0 > 123456 > + -34.84 > + -1.2345678901234e-200 > + -1004.3 > (5 rows) > > SELECT CAST(f1 AS char(4)) AS three FROM VARCHAR_TBL > *************** > *** 263,278 **** > SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl; > q2 > ------------------ > - 4567890123456789 > 123 > (2 rows) > > SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl; > q2 > ------------------ > 4567890123456789 > 4567890123456789 > - 123 > (3 rows) > > SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; > --- 263,278 ---- > SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl; > q2 > ------------------ > 123 > + 4567890123456789 > (2 rows) > > SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl; > q2 > ------------------ > + 123 > 4567890123456789 > 4567890123456789 > (3 rows) > > SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; > *************** > *** 305,320 **** > SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl; > q1 > ------------------ > - 4567890123456789 > 123 > (2 rows) > > SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl; > q1 > ------------------ > 4567890123456789 > 4567890123456789 > - 123 > (3 rows) > > -- > --- 305,320 ---- > SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl; > q1 > ------------------ > 123 > + 4567890123456789 > (2 rows) > > SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl; > q1 > ------------------ > + 123 > 4567890123456789 > 4567890123456789 > (3 rows) > > -- > *************** > *** 341,348 **** > SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT > q2 FROM int8_tbl; > q1 > ------------------- > - 4567890123456789 > 123 > 456 > 4567890123456789 > 123 > --- 341,348 ---- > SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT > q2 FROM int8_tbl; > q1 > ------------------- > 123 > + 4567890123456789 > 456 > 4567890123456789 > 123 > *************** > *** 353,367 **** > SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL > SELECT q2 FROM int8_tbl))); > q1 > ------------------ > - 4567890123456789 > 123 > (2 rows) > > (((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl))) UNION ALL > SELECT q2 FROM int8_tbl; > q1 > ------------------- > - 4567890123456789 > 123 > 456 > 4567890123456789 > 123 > --- 353,367 ---- > SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL > SELECT q2 FROM int8_tbl))); > q1 > ------------------ > 123 > + 4567890123456789 > (2 rows) > > (((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl))) UNION ALL > SELECT q2 FROM int8_tbl; > q1 > ------------------- > 123 > + 4567890123456789 > 456 > 4567890123456789 > 123 > *************** > *** 416,423 **** > SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT > 1))); > q1 > ------------------ > - 4567890123456789 > 123 > (2 rows) > > -- > --- 416,423 ---- > SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT > 1))); > q1 > ------------------ > 123 > + 4567890123456789 > (2 rows) > > -- > > ====================================================================== > > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers