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

Reply via email to