int8 beta5 broken? - Mailing list pgsql-hackers

From Olivier PRENANT
Subject int8 beta5 broken?
Date
Msg-id Pine.UW2.4.21.0102281651130.7372-100000@server.pyrenet.fr
Whole thread Raw
Responses Re: int8 beta5 broken?  (Olivier PRENANT <ohp@pyrenet.fr>)
Re: int8 beta5 broken?  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: int8 beta5 broken?  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Hi,

Testing beta5 on unixware7 gives an error on int8 test while beta4 (I've
just retested it) works ok regressions.diff follows:

Also, compiling with openssl give a compile error on
src/backend/libpq/crypt.c; this error CAN be avoided by commenting out the
definition of des_encrypt in /ur/local/ssl/include/openssl/des.h

I'm not sure this is good practice though.

Anyway, even after that, there are linking errors on libecpg.so and perl
because of a lack of -L/usr/local/ssl/lib

Easyly avoid by setting ad hoc LD_LIBRARY_PATH.
*** ./expected/int8.out    Mon Jan 29 03:53:58 2001
--- ./results/int8.out    Wed Feb 28 16:29:40 2001
***************
*** 5,111 **** CREATE TABLE INT8_TBL(q1 int8, q2 int8); INSERT INTO INT8_TBL VALUES('123','456'); INSERT INTO INT8_TBL
VALUES('123','4567890123456789');INSERT INTO INT8_TBL VALUES('4567890123456789','123'); INSERT INTO INT8_TBL
VALUES('4567890123456789','4567890123456789');INSERT INTO INT8_TBL VALUES('4567890123456789','-4567890123456789');
SELECT* FROM INT8_TBL;         q1        |        q2         
 
! ------------------+-------------------               123 |               456
!               123 |  4567890123456789
!  4567890123456789 |               123
!  4567890123456789 |  4567890123456789
!  4567890123456789 | -4567890123456789
! (5 rows)  SELECT '' AS five, q1 AS plus, -q1 AS minus FROM INT8_TBL;  five |       plus       |       minus       
! ------+------------------+-------------------       |              123 |              -123
!       |              123 |              -123
!       | 4567890123456789 | -4567890123456789
!       | 4567890123456789 | -4567890123456789
!       | 4567890123456789 | -4567890123456789
! (5 rows)  SELECT '' AS five, q1, q2, q1 + q2 AS plus FROM INT8_TBL;  five |        q1        |        q2         |
  plus       
 
! ------+------------------+-------------------+------------------       |              123 |               456 |
      579
 
!       |              123 |  4567890123456789 | 4567890123456912
!       | 4567890123456789 |               123 | 4567890123456912
!       | 4567890123456789 |  4567890123456789 | 9135780246913578
!       | 4567890123456789 | -4567890123456789 |                0
! (5 rows)  SELECT '' AS five, q1, q2, q1 - q2 AS minus FROM INT8_TBL;  five |        q1        |        q2         |
   minus       
 
! ------+------------------+-------------------+-------------------       |              123 |               456 |
       -333
 
!       |              123 |  4567890123456789 | -4567890123456666
!       | 4567890123456789 |               123 |  4567890123456666
!       | 4567890123456789 |  4567890123456789 |                 0
!       | 4567890123456789 | -4567890123456789 |  9135780246913578
! (5 rows)  SELECT '' AS three, q1, q2, q1 * q2 AS multiply FROM INT8_TBL  WHERE q1 < 1000 or (q2 > 0 and q2 < 1000);
three|        q1        |        q2        |      multiply      
 
! -------+------------------+------------------+--------------------        |              123 |              456 |
        56088
 
!        |              123 | 4567890123456789 | 561850485185185047
!        | 4567890123456789 |              123 | 561850485185185047
! (3 rows)  SELECT '' AS five, q1, q2, q1 / q2 AS divide FROM INT8_TBL;  five |        q1        |        q2         |
  divide     
 
! ------+------------------+-------------------+----------------       |              123 |               456 |
    0
 
!       |              123 |  4567890123456789 |              0
!       | 4567890123456789 |               123 | 37137318076884
!       | 4567890123456789 |  4567890123456789 |              1
!       | 4567890123456789 | -4567890123456789 |             -1
! (5 rows)  SELECT '' AS five, q1, float8(q1) FROM INT8_TBL;  five |        q1        |        float8        
! ------+------------------+----------------------       |              123 |                  123
!       |              123 |                  123
!       | 4567890123456789 | 4.56789012345679e+15
!       | 4567890123456789 | 4.56789012345679e+15
!       | 4567890123456789 | 4.56789012345679e+15
! (5 rows)  SELECT '' AS five, q2, float8(q2) FROM INT8_TBL;  five |        q2         |        float8         
! ------+-------------------+-----------------------       |               456 |                   456
!       |  4567890123456789 |  4.56789012345679e+15
!       |               123 |                   123
!       |  4567890123456789 |  4.56789012345679e+15
!       | -4567890123456789 | -4.56789012345679e+15
! (5 rows)  SELECT '' AS five, 2 * q1 AS "twice int4" FROM INT8_TBL;  five |    twice int4    
! ------+------------------       |              246
!       |              246
!       | 9135780246913578
!       | 9135780246913578
!       | 9135780246913578
! (5 rows)  SELECT '' AS five, q1 * 2 AS "twice int4" FROM INT8_TBL;  five |    twice int4    
! ------+------------------       |              246
!       |              246
!       | 9135780246913578
!       | 9135780246913578
!       | 9135780246913578
! (5 rows)  -- TO_CHAR() --
--- 5,77 ---- CREATE TABLE INT8_TBL(q1 int8, q2 int8); INSERT INTO INT8_TBL VALUES('123','456'); INSERT INTO INT8_TBL
VALUES('123','4567890123456789');
+ ERROR:  int8 value out of range: "4567890123456789" INSERT INTO INT8_TBL VALUES('4567890123456789','123');
+ ERROR:  int8 value out of range: "4567890123456789" INSERT INTO INT8_TBL
VALUES('4567890123456789','4567890123456789');
+ ERROR:  int8 value out of range: "4567890123456789" INSERT INTO INT8_TBL
VALUES('4567890123456789','-4567890123456789');
+ ERROR:  int8 value out of range: "4567890123456789" SELECT * FROM INT8_TBL;  q1  | q2  
! -----+-----  123 | 456
! (1 row)  SELECT '' AS five, q1 AS plus, -q1 AS minus FROM INT8_TBL;  five | plus | minus 
! ------+------+-------       |  123 |  -123
! (1 row)  SELECT '' AS five, q1, q2, q1 + q2 AS plus FROM INT8_TBL;  five | q1  | q2  | plus 
! ------+-----+-----+------       | 123 | 456 |  579
! (1 row)  SELECT '' AS five, q1, q2, q1 - q2 AS minus FROM INT8_TBL;  five | q1  | q2  | minus 
! ------+-----+-----+-------       | 123 | 456 |  -333
! (1 row)  SELECT '' AS three, q1, q2, q1 * q2 AS multiply FROM INT8_TBL  WHERE q1 < 1000 or (q2 > 0 and q2 < 1000);
three| q1  | q2  | multiply 
 
! -------+-----+-----+----------        | 123 | 456 |    56088
! (1 row)  SELECT '' AS five, q1, q2, q1 / q2 AS divide FROM INT8_TBL;  five | q1  | q2  | divide 
! ------+-----+-----+--------       | 123 | 456 |      0
! (1 row)  SELECT '' AS five, q1, float8(q1) FROM INT8_TBL;  five | q1  | float8 
! ------+-----+--------       | 123 |    123
! (1 row)  SELECT '' AS five, q2, float8(q2) FROM INT8_TBL;  five | q2  | float8 
! ------+-----+--------       | 456 |    456
! (1 row)  SELECT '' AS five, 2 * q1 AS "twice int4" FROM INT8_TBL;  five | twice int4 
! ------+------------       |        246
! (1 row)  SELECT '' AS five, q1 * 2 AS "twice int4" FROM INT8_TBL;  five | twice int4 
! ------+------------       |        246
! (1 row)  -- TO_CHAR() --
***************
*** 114,124 ****  to_char_1 |        to_char         |        to_char
-----------+------------------------+------------------------           |                    123 |
456
!            |                    123 |  4,567,890,123,456,789
!            |  4,567,890,123,456,789 |                    123
!            |  4,567,890,123,456,789 |  4,567,890,123,456,789
!            |  4,567,890,123,456,789 | -4,567,890,123,456,789
! (5 rows)  SELECT '' AS to_char_2, to_char(q1, '9G999G999G999G999G999D999G999'), to_char(q2,
'9,999,999,999,999,999.999,999')     FROM INT8_TBL;    
 
--- 80,86 ----  to_char_1 |        to_char         |        to_char
-----------+------------------------+------------------------           |                    123 |
456
! (1 row)  SELECT '' AS to_char_2, to_char(q1, '9G999G999G999G999G999D999G999'), to_char(q2,
'9,999,999,999,999,999.999,999')     FROM INT8_TBL;    
 
***************
*** 125,135 ****  to_char_2 |            to_char             |            to_char
-----------+--------------------------------+--------------------------------           |
123.000,000|                    456.000,000
 
!            |                    123.000,000 |  4,567,890,123,456,789.000,000
!            |  4,567,890,123,456,789.000,000 |                    123.000,000
!            |  4,567,890,123,456,789.000,000 |  4,567,890,123,456,789.000,000
!            |  4,567,890,123,456,789.000,000 | -4,567,890,123,456,789.000,000
! (5 rows)  SELECT '' AS to_char_3, to_char( (q1 * -1), '9999999999999999PR'), to_char( (q2 * -1),
'9999999999999999.999PR')     FROM INT8_TBL;
 
--- 87,93 ----  to_char_2 |            to_char             |            to_char
-----------+--------------------------------+--------------------------------           |
123.000,000|                    456.000,000
 
! (1 row)  SELECT '' AS to_char_3, to_char( (q1 * -1), '9999999999999999PR'), to_char( (q2 * -1),
'9999999999999999.999PR')     FROM INT8_TBL;
 
***************
*** 136,146 ****  to_char_3 |      to_char       |        to_char
-----------+--------------------+------------------------           |              <123> |              <456.000>
 
!            |              <123> | <4567890123456789.000>
!            | <4567890123456789> |              <123.000>
!            | <4567890123456789> | <4567890123456789.000>
!            | <4567890123456789> |  4567890123456789.000
! (5 rows)  SELECT '' AS to_char_4, to_char( (q1 * -1), '9999999999999999S'), to_char( (q2 * -1), 'S9999999999999999')
   FROM INT8_TBL;
 
--- 94,100 ----  to_char_3 |      to_char       |        to_char
-----------+--------------------+------------------------           |              <123> |              <456.000>
 
! (1 row)  SELECT '' AS to_char_4, to_char( (q1 * -1), '9999999999999999S'), to_char( (q2 * -1), 'S9999999999999999')
  FROM INT8_TBL;
 
***************
*** 147,285 ****  to_char_4 |      to_char      |      to_char
-----------+-------------------+-------------------           |              123- |              -456
 
!            |              123- | -4567890123456789
!            | 4567890123456789- |              -123
!            | 4567890123456789- | -4567890123456789
!            | 4567890123456789- | +4567890123456789
! (5 rows)  SELECT '' AS to_char_5,  to_char(q2, 'MI9999999999999999')     FROM INT8_TBL;      to_char_5 |      to_char
      -----------+--------------------            |                456
 
!            |   4567890123456789
!            |                123
!            |   4567890123456789
!            | -4567890123456789
! (5 rows)  SELECT '' AS to_char_6,  to_char(q2, 'FMS9999999999999999')    FROM INT8_TBL;  to_char_6 |      to_char

 
! -----------+-------------------            | +456
!            | +4567890123456789
!            | +123
!            | +4567890123456789
!            | -4567890123456789
! (5 rows)  SELECT '' AS to_char_7,  to_char(q2, 'FM9999999999999999THPR') FROM INT8_TBL;  to_char_7 |      to_char
 
 
! -----------+--------------------            | 456TH
!            | 4567890123456789TH
!            | 123RD
!            | 4567890123456789TH
!            | <4567890123456789>
! (5 rows)  SELECT '' AS to_char_8,  to_char(q2, 'SG9999999999999999th')   FROM INT8_TBL;      to_char_8 |
to_char       -----------+---------------------            | +             456th
 
!            | +4567890123456789th
!            | +             123rd
!            | +4567890123456789th
!            | -4567890123456789
! (5 rows)  SELECT '' AS to_char_9,  to_char(q2, '0999999999999999')       FROM INT8_TBL;      to_char_9 |      to_char
     -----------+-------------------            |  0000000000000456
 
!            |  4567890123456789
!            |  0000000000000123
!            |  4567890123456789
!            | -4567890123456789
! (5 rows)  SELECT '' AS to_char_10, to_char(q2, 'S0999999999999999')      FROM INT8_TBL;      to_char_10 |
to_char      ------------+-------------------             | +0000000000000456
 
!             | +4567890123456789
!             | +0000000000000123
!             | +4567890123456789
!             | -4567890123456789
! (5 rows)  SELECT '' AS to_char_11, to_char(q2, 'FM0999999999999999')     FROM INT8_TBL;      to_char_11 |
to_char     
 
! ------------+-------------------             | 0000000000000456
!             | 4567890123456789
!             | 0000000000000123
!             | 4567890123456789
!             | -4567890123456789
! (5 rows)  SELECT '' AS to_char_12, to_char(q2, 'FM9999999999999999.000') FROM INT8_TBL;  to_char_12 |        to_char
     
 
! ------------+-----------------------             | 456.000
!             | 4567890123456789.000
!             | 123.000
!             | 4567890123456789.000
!             | -4567890123456789.000
! (5 rows)  SELECT '' AS to_char_13, to_char(q2, 'L9999999999999999.000')  FROM INT8_TBL;      to_char_13 |
to_char         ------------+------------------------             |                456.000
 
!             |   4567890123456789.000
!             |                123.000
!             |   4567890123456789.000
!             |  -4567890123456789.000
! (5 rows)  SELECT '' AS to_char_14, to_char(q2, 'FM9999999999999999.999') FROM INT8_TBL;  to_char_14 |      to_char
 
 
! ------------+-------------------             | 456
!             | 4567890123456789
!             | 123
!             | 4567890123456789
!             | -4567890123456789
! (5 rows)  SELECT '' AS to_char_15, to_char(q2, 'S 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . 9 9 9') FROM INT8_TBL;
to_char_15|                  to_char                   ------------+-------------------------------------------
   |                           +4 5 6 . 0 0 0 
 
!             | + 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 . 0 0 0
!             |                           +1 2 3 . 0 0 0 
!             | + 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 . 0 0 0
!             | - 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 . 0 0 0
! (5 rows)  SELECT '' AS to_char_16, to_char(q2, '99999 "text" 9999 "9999" 999 "\\"text between quote marks\\"" 9999')
FROMINT8_TBL;  to_char_16 |                          to_char
------------+-----------------------------------------------------------            |       text      9999     "text
betweenquote marks"   456
 
!             |  45678 text 9012 9999 345 "text between quote marks" 6789
!             |       text      9999     "text between quote marks"   123
!             |  45678 text 9012 9999 345 "text between quote marks" 6789
!             | -45678 text 9012 9999 345 "text between quote marks" 6789
! (5 rows)  SELECT '' AS to_char_17, to_char(q2, '999999SG9999999999')     FROM INT8_TBL;  to_char_17 |      to_char
  ------------+-------------------             |       +       456
 
!             | 456789+0123456789
!             |       +       123
!             | 456789+0123456789
!             | 456789-0123456789
! (5 rows) 
--- 101,183 ----  to_char_4 |      to_char      |      to_char
-----------+-------------------+-------------------           |              123- |              -456
 
! (1 row)  SELECT '' AS to_char_5,  to_char(q2, 'MI9999999999999999')     FROM INT8_TBL;      to_char_5 |      to_char
     -----------+--------------------            |                456
 
! (1 row)  SELECT '' AS to_char_6,  to_char(q2, 'FMS9999999999999999')    FROM INT8_TBL;  to_char_6 | to_char 
! -----------+---------            | +456
! (1 row)  SELECT '' AS to_char_7,  to_char(q2, 'FM9999999999999999THPR') FROM INT8_TBL;  to_char_7 | to_char 
! -----------+---------            | 456TH
! (1 row)  SELECT '' AS to_char_8,  to_char(q2, 'SG9999999999999999th')   FROM INT8_TBL;      to_char_8 |       to_char
      -----------+---------------------            | +             456th
 
! (1 row)  SELECT '' AS to_char_9,  to_char(q2, '0999999999999999')       FROM INT8_TBL;      to_char_9 |      to_char
    -----------+-------------------            |  0000000000000456
 
! (1 row)  SELECT '' AS to_char_10, to_char(q2, 'S0999999999999999')      FROM INT8_TBL;      to_char_10 |      to_char
     ------------+-------------------             | +0000000000000456
 
! (1 row)  SELECT '' AS to_char_11, to_char(q2, 'FM0999999999999999')     FROM INT8_TBL;      to_char_11 |     to_char
   
 
! ------------+------------------             | 0000000000000456
! (1 row)  SELECT '' AS to_char_12, to_char(q2, 'FM9999999999999999.000') FROM INT8_TBL;  to_char_12 | to_char 
! ------------+---------             | 456.000
! (1 row)  SELECT '' AS to_char_13, to_char(q2, 'L9999999999999999.000')  FROM INT8_TBL;      to_char_13 |
to_char         ------------+------------------------             |                456.000
 
! (1 row)  SELECT '' AS to_char_14, to_char(q2, 'FM9999999999999999.999') FROM INT8_TBL;  to_char_14 | to_char 
! ------------+---------             | 456
! (1 row)  SELECT '' AS to_char_15, to_char(q2, 'S 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 . 9 9 9') FROM INT8_TBL;  to_char_15
|                 to_char                   ------------+-------------------------------------------             |
                    +4 5 6 . 0 0 0 
 
! (1 row)  SELECT '' AS to_char_16, to_char(q2, '99999 "text" 9999 "9999" 999 "\\"text between quote marks\\"" 9999')
FROMINT8_TBL;  to_char_16 |                          to_char
------------+-----------------------------------------------------------            |       text      9999     "text
betweenquote marks"   456
 
! (1 row)  SELECT '' AS to_char_17, to_char(q2, '999999SG9999999999')     FROM INT8_TBL;  to_char_17 |      to_char
 ------------+-------------------             |       +       456
 
! (1 row) 

======================================================================

*** ./expected/subselect.out    Thu Mar 23 08:42:13 2000
--- ./results/subselect.out    Wed Feb 28 16:35:21 2001
***************
*** 160,167 **** select q1, float8(count(*)) / (select count(*) from int8_tbl) from int8_tbl group by q1;         q1
   | ?column? 
 
! ------------------+----------
!               123 |      0.4
!  4567890123456789 |      0.6
! (2 rows) 
--- 160,166 ---- select q1, float8(count(*)) / (select count(*) from int8_tbl) from int8_tbl group by q1;  q1  |
?column?
 
! -----+----------
!  123 |        1
! (1 row) 

======================================================================

*** ./expected/union.out    Thu Nov  9 03:47:49 2000
--- ./results/union.out    Wed Feb 28 16:35:22 2001
***************
*** 259,318 **** -- 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;         q2         
! -------------------
!  -4567890123456789                456
! (2 rows)  SELECT q2 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl;         q2         
! -------------------
!  -4567890123456789                456
! (2 rows)  SELECT q2 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q1 FROM int8_tbl;         q2         
! -------------------
!  -4567890123456789                456
!   4567890123456789
! (3 rows)  SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl;  q1 
! ----
! (0 rows)  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)  -- -- Mixed types
--- 259,307 ---- -- SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl;  q2 
! ----
! (0 rows)  SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl;  q2 
! ----
! (0 rows)  SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl;  q2  
! -----  456
! (1 row)  SELECT q2 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl;  q2  
! -----  456
! (1 row)  SELECT q2 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q1 FROM int8_tbl;  q2  
! -----  456
! (1 row)  SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl;  q1  
! -----
!  123
! (1 row)  SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl;  q1  
! -----  123
! (1 row)  SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl;  q1  
! -----  123
! (1 row)  -- -- Mixed types
***************
*** 337,396 **** -- SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl;
q1         
 
! -------------------
!                123
!   4567890123456789                456
!   4567890123456789
!                123
!   4567890123456789
!  -4567890123456789
! (7 rows)  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
!   4567890123456789
!  -4567890123456789
! (7 rows)  SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl;         q1

 
! -------------------
!  -4567890123456789                456
! (2 rows)  SELECT q1 FROM int8_tbl UNION ALL (((SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl)));         q1
      
 
! -------------------                123
-                123
-   4567890123456789
-   4567890123456789
-   4567890123456789
-  -4567890123456789                456
! (7 rows)  (((SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) EXCEPT SELECT q1 FROM int8_tbl;         q1
      
 
! -------------------
!  -4567890123456789                456
! (2 rows)  -- -- Subqueries with ORDER BY & LIMIT clauses
--- 326,364 ---- -- SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl;  q1  
! -----  456
! (1 row)  SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl)));  q1 
! ----
! (0 rows)  (((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl))) UNION ALL SELECT q2 FROM int8_tbl;  q1  
! -----  456
! (1 row)  SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl;  q1  
! -----  456
! (1 row)  SELECT q1 FROM int8_tbl UNION ALL (((SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl)));  q1  
! -----  123  456
! (2 rows)  (((SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) EXCEPT SELECT q1 FROM int8_tbl;  q1  
! -----  456
! (1 row)  -- -- Subqueries with ORDER BY & LIMIT clauses
***************
*** 399,408 **** SELECT q1,q2 FROM int8_tbl EXCEPT SELECT q2,q1 FROM int8_tbl ORDER BY q2,q1;         q1        |
q2         
 
! ------------------+-------------------
!  4567890123456789 | -4567890123456789               123 |               456
! (2 rows)  -- This should fail, because q2 isn't a name of an EXCEPT output column SELECT q1 FROM int8_tbl EXCEPT
SELECTq2 FROM int8_tbl ORDER BY q2 LIMIT 1;
 
--- 367,375 ---- SELECT q1,q2 FROM int8_tbl EXCEPT SELECT q2,q1 FROM int8_tbl ORDER BY q2,q1;  q1  | q2  
! -----+-----  123 | 456
! (1 row)  -- This should fail, because q2 isn't a name of an EXCEPT output column SELECT q1 FROM int8_tbl EXCEPT
SELECTq2 FROM int8_tbl ORDER BY q2 LIMIT 1;
 
***************
*** 410,419 **** -- But this should work: SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT
1)));        q1        
 
! ------------------               123
!  4567890123456789
! (2 rows)  -- -- New syntaxes (7.1) permit new tests
--- 377,385 ---- -- But this should work: SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT
1))); q1  
 
! -----  123
! (1 row)  -- -- New syntaxes (7.1) permit new tests
***************
*** 420,430 **** -- (((((select * from int8_tbl)))));         q1        |        q2         
! ------------------+-------------------               123 |               456
!               123 |  4567890123456789
!  4567890123456789 |               123
!  4567890123456789 |  4567890123456789
!  4567890123456789 | -4567890123456789
! (5 rows) 
--- 386,392 ---- -- (((((select * from int8_tbl)))));  q1  | q2  
! -----+-----  123 | 456
! (1 row) 

======================================================================


-- 
Olivier PRENANT             Tel:    +33-5-61-50-97-00 (Work)
Quartier d'Harraud Turrou           +33-5-61-50-97-01 (Fax)
31190 AUTERIVE                      +33-6-07-63-80-64 (GSM)
FRANCE                      Email: ohp@pyrenet.fr
------------------------------------------------------------------------------
Make your life a dream, make your dream a reality. (St Exupery)



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: regression.out and regression.diff
Next
From: Olivier PRENANT
Date:
Subject: Re: int8 beta5 broken?