int8 beta5 broken?
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') FROM INT8_TBL;
to_char_16 | to_char
------------+-----------------------------------------------------------
| text 9999 "text between quote 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') FROM INT8_TBL;
to_char_16 | to_char
------------+-----------------------------------------------------------
| text 9999 "text between quote 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 SELECT q2 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 SELECT q2 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)
Sorry to follow-up on my own post; int8 test passes if open-ssl is not
used.
weird!!
Regards,
On Wed, 28 Feb 2001, Olivier PRENANT wrote:
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.hI'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/libEasyly 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') FROM INT8_TBL;
to_char_16 | to_char
------------+-----------------------------------------------------------
| text 9999 "text between quote 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') FROM INT8_TBL;
to_char_16 | to_char
------------+-----------------------------------------------------------
| text 9999 "text between quote 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 SELECT q2 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 SELECT q2 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)
Olivier PRENANT <ohp@pyrenet.fr> writes:
Testing beta5 on unixware7 gives an error on int8 test while beta4 (I've
just retested it) works ok.
That's odd. int8.c hasn't changed since beta3 (except in the
float-to-int8 routine, which isn't involved here). Is there any
difference in the src/include/config.h file generated by the two
versions?
regards, tom lane
Olivier PRENANT <ohp@pyrenet.fr> writes:
Sorry to follow-up on my own post; int8 test passes if open-ssl is not
used.
That's difficult to believe, because int8.c doesn't include anything
that even knows SSL exists. Larry, can you confirm this behavior?
regards, tom lane
Working on it.
Give me a couple of hours.
LER
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Wednesday, February 28, 2001 11:04 AM
To: ohp@pyrenet.fr
Cc: pgsql-hackers@postgresql.org; Larry Rosenman
Subject: Re: [HACKERS] Re: int8 beta5 broken?
Olivier PRENANT <ohp@pyrenet.fr> writes:
Sorry to follow-up on my own post; int8 test passes if open-ssl is not
used.
That's difficult to believe, because int8.c doesn't include anything
that even knows SSL exists. Larry, can you confirm this behavior?
regards, tom lane
Olivier PRENANT writes:
Testing beta5 on unixware7 gives an error on int8 test while beta4 (I've
just retested it) works ok regressions.diff follows:
This doesn't happen to be caused by the compiler bug described in
doc/FAQ_SCO?
Anyway, even after that, there are linking errors on libecpg.so and perl
because of a lack of -L/usr/local/ssl/lib
Can you post some screen output, so we can see what the command was that
caused the error?
--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
* Larry Rosenman <ler@lerctr.org> [010228 11:13]:
Working on it.
Give me a couple of hours.
Olivier,
How did you build OpenSSL? I get the following (I only have a
static lib):
cc -O -K inline -K PIC -I. -I../../../src/include -I/usr/local/include -I/usr/local/ssl/include -DFRONTEND -DSYSCONFDIR='"/usr/local/pgsql/etc"' -c -o wchar.o wchar.c
ar crs libpq.a `lorder fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o pqexpbuffer.o dllist.o pqsignal.o wchar.o | tsort`
UX:tsort: WARNING: Cycle in data
UX:tsort: INFO: fe-connect.o
UX:tsort: INFO: fe-auth.o
UX:tsort: WARNING: Cycle in data
UX:tsort: INFO: fe-exec.o
UX:tsort: INFO: fe-misc.o
UX:tsort: INFO: fe-connect.o
: libpq.a
cc -G -Wl,-z,text -Wl,-h,libpq.so.2 fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o pqexpbuffer.o dllist.o pqsignal.o wchar.o -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lresolv -lnsl -lsocket -Wl,-R/usr/local/pgsql/lib -o libpq.so.2.1
UX:ld: INFO: text relocations referenced from files:
libssl.a(s23_meth.o)
libssl.a(s23_srvr.o)
libssl.a(s23_clnt.o)
libssl.a(s23_lib.o)
libssl.a(s23_pkt.o)
libssl.a(t1_meth.o)
libssl.a(t1_srvr.o)
libssl.a(t1_clnt.o)
libssl.a(t1_lib.o)
libssl.a(t1_enc.o)
libssl.a(ssl_lib.o)
libssl.a(ssl_err2.o)
libssl.a(ssl_cert.o)
libssl.a(ssl_sess.o)
libssl.a(ssl_ciph.o)
libssl.a(ssl_algs.o)
libssl.a(ssl_err.o)
libssl.a(s2_srvr.o)
libssl.a(s2_clnt.o)
libssl.a(s2_lib.o)
libssl.a(s2_enc.o)
libssl.a(s2_pkt.o)
libssl.a(s3_meth.o)
libssl.a(s3_srvr.o)
libssl.a(s3_clnt.o)
libssl.a(s3_lib.o)
libssl.a(s3_enc.o)
libssl.a(s3_pkt.o)
libssl.a(s3_both.o)
libssl.a(ssl_rsa.o)
libcrypto.a(cryptlib.o)
libcrypto.a(mem.o)
libcrypto.a(ex_data.o)
libcrypto.a(md5_dgst.o)
libcrypto.a(sha1dgst.o)
libcrypto.a(hmac.o)
libcrypto.a(fcrypt.o)
libcrypto.a(bn_lib.o)
libcrypto.a(rsa_lib.o)
libcrypto.a(rsa_sign.o)
libcrypto.a(dsa_vrf.o)
libcrypto.a(dsa_sign.o)
libcrypto.a(dh_key.o)
libcrypto.a(dh_lib.o)
libcrypto.a(buffer.o)
libcrypto.a(bio_lib.o)
libcrypto.a(bss_file.o)
libcrypto.a(bss_sock.o)
libcrypto.a(bf_buff.o)
libcrypto.a(b_print.o)
libcrypto.a(stack.o)
libcrypto.a(lhash.o)
libcrypto.a(rand_lib.o)
libcrypto.a(err.o)
libcrypto.a(err_all.o)
libcrypto.a(o_names.o)
libcrypto.a(obj_dat.o)
libcrypto.a(obj_lib.o)
libcrypto.a(obj_err.o)
libcrypto.a(digest.o)
libcrypto.a(evp_enc.o)
libcrypto.a(e_des.o)
libcrypto.a(e_idea.o)
libcrypto.a(e_des3.o)
libcrypto.a(e_rc4.o)
libcrypto.a(names.o)
libcrypto.a(e_rc2.o)
libcrypto.a(m_md2.o)
libcrypto.a(m_md5.o)
libcrypto.a(m_sha1.o)
libcrypto.a(m_dss1.o)
libcrypto.a(p_sign.o)
libcrypto.a(p_verify.o)
libcrypto.a(p_lib.o)
libcrypto.a(evp_err.o)
libcrypto.a(e_null.o)
libcrypto.a(evp_lib.o)
libcrypto.a(evp_pbe.o)
libcrypto.a(a_object.o)
libcrypto.a(a_dup.o)
libcrypto.a(x_sig.o)
libcrypto.a(x_name.o)
libcrypto.a(x_x509.o)
libcrypto.a(x_x509a.o)
libcrypto.a(d2i_r_pr.o)
libcrypto.a(i2d_r_pr.o)
libcrypto.a(d2i_pr.o)
libcrypto.a(i2d_dhp.o)
libcrypto.a(d2i_dhp.o)
libcrypto.a(asn1_lib.o)
libcrypto.a(asn1_err.o)
libcrypto.a(evp_asn1.o)
libcrypto.a(pem_all.o)
libcrypto.a(pem_err.o)
libcrypto.a(x509_d2.o)
libcrypto.a(x509_cmp.o)
libcrypto.a(x509_obj.o)
libcrypto.a(x509_vfy.o)
libcrypto.a(x509_err.o)
libcrypto.a(x509_ext.o)
libcrypto.a(x509type.o)
libcrypto.a(x509_lu.o)
libcrypto.a(x_all.o)
libcrypto.a(x509_trs.o)
libcrypto.a(by_file.o)
libcrypto.a(by_dir.o)
libcrypto.a(v3_lib.o)
libcrypto.a(v3err.o)
libcrypto.a(v3_alt.o)
libcrypto.a(v3_skey.o)
libcrypto.a(v3_akey.o)
libcrypto.a(v3_pku.o)
libcrypto.a(v3_enum.o)
libcrypto.a(v3_sxnet.o)
libcrypto.a(v3_cpols.o)
libcrypto.a(v3_crld.o)
libcrypto.a(v3_purp.o)
libcrypto.a(v3_info.o)
libcrypto.a(conf_err.o)
libcrypto.a(pkcs7err.o)
libcrypto.a(pk12err.o)
libcrypto.a(comp_lib.o)
libcrypto.a(mem_dbg.o)
libcrypto.a(cpt_err.o)
libcrypto.a(md2_dgst.o)
libcrypto.a(md5_one.o)
libcrypto.a(set_key.o)
libcrypto.a(ecb_enc.o)
libcrypto.a(ecb3_enc.o)
libcrypto.a(cfb64enc.o)
libcrypto.a(cfb64ede.o)
libcrypto.a(ofb64ede.o)
libcrypto.a(ofb64enc.o)
libcrypto.a(des_enc.o)
libcrypto.a(fcrypt_b.o)
libcrypto.a(rc2_ecb.o)
libcrypto.a(rc2_skey.o)
libcrypto.a(rc2_cbc.o)
libcrypto.a(rc2cfb64.o)
libcrypto.a(rc2ofb64.o)
libcrypto.a(rc4_skey.o)
libcrypto.a(i_cbc.o)
libcrypto.a(i_cfb64.o)
libcrypto.a(i_ofb64.o)
libcrypto.a(i_ecb.o)
libcrypto.a(bn_exp.o)
libcrypto.a(bn_ctx.o)
libcrypto.a(bn_mul.o)
libcrypto.a(bn_rand.o)
libcrypto.a(bn_word.o)
libcrypto.a(bn_blind.o)
libcrypto.a(bn_gcd.o)
libcrypto.a(bn_err.o)
libcrypto.a(bn_sqr.o)
libcrypto.a(bn_asm.o)
libcrypto.a(bn_recp.o)
libcrypto.a(bn_mont.o)
libcrypto.a(rsa_eay.o)
libcrypto.a(rsa_err.o)
libcrypto.a(rsa_pk1.o)
libcrypto.a(rsa_ssl.o)
libcrypto.a(rsa_none.o)
libcrypto.a(rsa_oaep.o)
libcrypto.a(dsa_lib.o)
libcrypto.a(dsa_asn1.o)
libcrypto.a(dsa_err.o)
libcrypto.a(dsa_ossl.o)
libcrypto.a(dh_err.o)
libcrypto.a(dso_err.o)
libcrypto.a(buf_err.o)
libcrypto.a(bio_err.o)
libcrypto.a(md_rand.o)
libcrypto.a(rand_err.o)
libcrypto.a(rand_win.o)
libcrypto.a(evp_pkey.o)
libcrypto.a(a_bitstr.o)
libcrypto.a(a_utctm.o)
libcrypto.a(a_gentm.o)
libcrypto.a(a_time.o)
libcrypto.a(a_int.o)
libcrypto.a(a_octet.o)
libcrypto.a(a_print.o)
libcrypto.a(a_type.o)
libcrypto.a(a_set.o)
libcrypto.a(a_d2i_fp.o)
libcrypto.a(a_i2d_fp.o)
libcrypto.a(a_enum.o)
libcrypto.a(a_vis.o)
libcrypto.a(a_utf8.o)
libcrypto.a(a_sign.o)
libcrypto.a(a_digest.o)
libcrypto.a(a_verify.o)
libcrypto.a(x_algor.o)
libcrypto.a(x_pubkey.o)
libcrypto.a(x_req.o)
libcrypto.a(x_attrib.o)
libcrypto.a(x_cinf.o)
libcrypto.a(x_crl.o)
libcrypto.a(x_info.o)
libcrypto.a(x_spki.o)
libcrypto.a(nsseq.o)
libcrypto.a(d2i_r_pu.o)
libcrypto.a(i2d_r_pu.o)
libcrypto.a(d2i_s_pr.o)
libcrypto.a(i2d_s_pr.o)
libcrypto.a(d2i_pu.o)
libcrypto.a(i2d_pu.o)
libcrypto.a(i2d_pr.o)
libcrypto.a(t_x509.o)
libcrypto.a(t_x509a.o)
libcrypto.a(t_pkey.o)
libcrypto.a(p7_i_s.o)
libcrypto.a(p7_lib.o)
libcrypto.a(i2d_dsap.o)
libcrypto.a(d2i_dsap.o)
libcrypto.a(x_pkey.o)
libcrypto.a(x_exten.o)
libcrypto.a(a_bytes.o)
libcrypto.a(asn_pack.o)
libcrypto.a(p8_pkey.o)
libcrypto.a(pem_info.o)
libcrypto.a(pem_lib.o)
libcrypto.a(x509_def.o)
libcrypto.a(x509name.o)
libcrypto.a(x509_v3.o)
libcrypto.a(v3_bcons.o)
libcrypto.a(v3_bitst.o)
libcrypto.a(v3_conf.o)
libcrypto.a(v3_extku.o)
libcrypto.a(v3_ia5.o)
libcrypto.a(v3_prn.o)
libcrypto.a(v3_utl.o)
libcrypto.a(v3_genn.o)
libcrypto.a(conf_lib.o)
libcrypto.a(conf_api.o)
libcrypto.a(conf_def.o)
libcrypto.a(p12_add.o)
libcrypto.a(p12_bags.o)
libcrypto.a(p12_decr.o)
libcrypto.a(p12_sbag.o)
libcrypto.a(sha1_one.o)
libcrypto.a(bn_add.o)
libcrypto.a(bn_div.o)
libcrypto.a(bn_print.o)
libcrypto.a(bn_shift.o)
libcrypto.a(bn_exp2.o)
libcrypto.a(err_prn.o)
libcrypto.a(encode.o)
libcrypto.a(evp_key.o)
libcrypto.a(x_val.o)
libcrypto.a(d2i_s_pu.o)
libcrypto.a(i2d_s_pu.o)
libcrypto.a(p7_signd.o)
libcrypto.a(p7_evp.o)
libcrypto.a(p7_dgst.o)
libcrypto.a(p7_s_e.o)
libcrypto.a(p7_enc.o)
libcrypto.a(a_bool.o)
libcrypto.a(a_strnid.o)
libcrypto.a(p5_pbe.o)
libcrypto.a(p5_pbev2.o)
libcrypto.a(x509_req.o)
libcrypto.a(x509rset.o)
libcrypto.a(x509_att.o)
libcrypto.a(pk7_lib.o)
libcrypto.a(read_pwd.o)
libcrypto.a(a_mbstr.o)
libcrypto.a(p7_signi.o)
libcrypto.a(p7_recip.o)
libcrypto.a(p7_enc_c.o)
UX:ld: ERROR: relocations remain against non-writeable, allocatable section .text
gmake[3]: *** [libpq.so.2.1] Error 1
gmake[3]: Leaving directory `/home/ler/pg-dev/pgsql/src/interfaces/libpq'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/home/ler/pg-dev/pgsql/src/interfaces'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/home/ler/pg-dev/pgsql/src'
gmake: *** [all] Error 2
LER
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Wednesday, February 28, 2001 11:04 AM
To: ohp@pyrenet.fr
Cc: pgsql-hackers@postgresql.org; Larry Rosenman
Subject: Re: [HACKERS] Re: int8 beta5 broken?Olivier PRENANT <ohp@pyrenet.fr> writes:
Sorry to follow-up on my own post; int8 test passes if open-ssl is not
used.That's difficult to believe, because int8.c doesn't include anything
that even knows SSL exists. Larry, can you confirm this behavior?regards, tom lane
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
On Wed, 28 Feb 2001, Tom Lane wrote:
Olivier PRENANT <ohp@pyrenet.fr> writes:
Sorry to follow-up on my own post; int8 test passes if open-ssl is not
used.That's difficult to believe, because int8.c doesn't include anything
that even knows SSL exists. Larry, can you confirm this behavior?
Hi, I've been testing a little more further and found that (with-openssl)
if initdb is done with LANG=C, int8 test succeeds
if initdb is done with LANG=fr int8 test fails.
I'll try nowwithout openssl and LANG=fr
Regards
regards, tom lane
--
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)