diff --git a/src/test/regress/expected/float8-NetBSD.out b/src/test/regress/expected/float8-NetBSD.out index e0d1a0c74b9f4b24327dbfdc462bc53da6ad1454..9d923ed8e0b90c3639e8827605650b7975b906f1 100644 --- a/src/test/regress/expected/float8-NetBSD.out +++ b/src/test/regress/expected/float8-NetBSD.out @@ -4,12 +4,6 @@ QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1004.30'); QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84'); QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e+200'); QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e-200'); -QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400'); -ERROR: Bad float8 input format '10e400' -QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400'); -ERROR: Bad float8 input format '-10e400' -QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400'); -QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400'); QUERY: SELECT '' AS five, FLOAT8_TBL.*; five|f1 ----+-------------------- @@ -18,9 +12,7 @@ five|f1 |-34.84 |1.2345678901234e+200 |1.2345678901234e-200 - |0 - |0 -(7 rows) +(5 rows) QUERY: SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE f.f1 <> '1004.3'; four|f1 @@ -29,9 +21,7 @@ four|f1 |-34.84 |1.2345678901234e+200 |1.2345678901234e-200 - |0 - |0 -(6 rows) +(4 rows) QUERY: SELECT '' AS one, f.* FROM FLOAT8_TBL f WHERE f.f1 = '1004.3'; one| f1 @@ -45,9 +35,7 @@ three| f1 | 0 | -34.84 |1.2345678901234e-200 - | 0 - | 0 -(5 rows) +(3 rows) QUERY: SELECT '' AS three, f.* FROM FLOAT8_TBL f WHERE f.f1 < '1004.3'; three| f1 @@ -55,9 +43,7 @@ three| f1 | 0 | -34.84 |1.2345678901234e-200 - | 0 - | 0 -(5 rows) +(3 rows) QUERY: SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE '1004.3' >= f.f1; four| f1 @@ -66,9 +52,7 @@ four| f1 | 1004.3 | -34.84 |1.2345678901234e-200 - | 0 - | 0 -(6 rows) +(4 rows) QUERY: SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE f.f1 <= '1004.3'; four| f1 @@ -77,9 +61,7 @@ four| f1 | 1004.3 | -34.84 |1.2345678901234e-200 - | 0 - | 0 -(6 rows) +(4 rows) QUERY: SELECT '' AS three, f.f1, f.f1 * '-10' AS x FROM FLOAT8_TBL f @@ -137,9 +119,7 @@ five|f1 |abs_f1 |-34.84 |34.84 |1.2345678901234e+200|1.2345678901234e+200 |1.2345678901234e-200|1.2345678901234e-200 - |0 |0 - |0 |0 -(7 rows) +(5 rows) QUERY: SELECT '' AS five, f.f1, %f.f1 AS trunc_f1 FROM FLOAT8_TBL f; @@ -150,9 +130,7 @@ five|f1 |trunc_f1 |-34.84 |-34 |1.2345678901234e+200|1.2345678901234e+200 |1.2345678901234e-200|0 - |0 |0 - |0 |0 -(7 rows) +(5 rows) QUERY: SELECT '' AS five, f.f1, f.f1 % AS round_f1 FROM FLOAT8_TBL f; @@ -163,9 +141,7 @@ five|f1 |round_f1 |-34.84 |-35 |1.2345678901234e+200|1.2345678901234e+200 |1.2345678901234e-200|0 - |0 |0 - |0 |0 -(7 rows) +(5 rows) QUERY: SELECT '' AS three, f.f1, |/f.f1 AS sqrt_f1 FROM FLOAT8_TBL f @@ -195,9 +171,7 @@ five|f1 |cbrt_f1 |-34.84 |-3.26607421344208 |1.2345678901234e+200|4.97933859234765e+66 |1.2345678901234e-200|2.3112042409018e-67 - |0 |0 - |0 |0 -(7 rows) +(5 rows) QUERY: SELECT '' AS five, FLOAT8_TBL.*; five|f1 @@ -207,9 +181,7 @@ five|f1 |-34.84 |1.2345678901234e+200 |1.2345678901234e-200 - |0 - |0 -(7 rows) +(5 rows) QUERY: UPDATE FLOAT8_TBL SET f1 = FLOAT8_TBL.f1 * '-1' @@ -231,10 +203,30 @@ five|f1 ----+--------------------- |0 |-34.84 + |-1004.3 + |-1.2345678901234e+200 + |-1.2345678901234e-200 +(5 rows) + +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400'); +ERROR: Bad float8 input format '10e400' +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400'); +ERROR: Bad float8 input format '-10e400' +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400'); +QUERY: DELETE FROM FLOAT8_TBL; +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1004.30'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e+200'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e-200'); +QUERY: SELECT '' AS five, FLOAT8_TBL.*; +five|f1 +----+--------------------- |0 - |0 + |-34.84 |-1004.3 |-1.2345678901234e+200 |-1.2345678901234e-200 -(7 rows) +(5 rows) diff --git a/src/test/regress/expected/float8.out b/src/test/regress/expected/float8.out index facfac9d706da3cdc51dd1c0c56587b33775703f..ec9a98371f9caca07ab822b7c458d1811492c3ed 100644 --- a/src/test/regress/expected/float8.out +++ b/src/test/regress/expected/float8.out @@ -4,14 +4,6 @@ QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1004.30'); QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84'); QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e+200'); QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e-200'); -QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400'); -ERROR: Bad float8 input format '10e400' -QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400'); -ERROR: Bad float8 input format '-10e400' -QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400'); -ERROR: Bad float8 input format '10e-400' -QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400'); -ERROR: Bad float8 input format '-10e-400' QUERY: SELECT '' AS five, FLOAT8_TBL.*; five|f1 ----+-------------------- @@ -224,3 +216,27 @@ five|f1 |-1.2345678901234e-200 (5 rows) +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400'); +ERROR: Bad float8 input format '10e400' +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400'); +ERROR: Bad float8 input format '-10e400' +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400'); +ERROR: Bad float8 input format '10e-400' +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400'); +ERROR: Bad float8 input format '-10e-400' +QUERY: DELETE FROM FLOAT8_TBL; +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1004.30'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e+200'); +QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e-200'); +QUERY: SELECT '' AS five, FLOAT8_TBL.*; +five|f1 +----+--------------------- + |0 + |-34.84 + |-1004.3 + |-1.2345678901234e+200 + |-1.2345678901234e-200 +(5 rows) + diff --git a/src/test/regress/expected/numerology-NetBSD.out b/src/test/regress/expected/numerology-NetBSD.out index 1f05e0753f3054bb57cff718db610ae80cf1fdfa..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/src/test/regress/expected/numerology-NetBSD.out +++ b/src/test/regress/expected/numerology-NetBSD.out @@ -1,122 +0,0 @@ -QUERY: CREATE TABLE TEMP_FLOAT (f1 FLOAT8); -QUERY: INSERT INTO TEMP_FLOAT (f1) - SELECT float8(f1) FROM INT4_TBL; -QUERY: INSERT INTO TEMP_FLOAT (f1) - SELECT float8(f1) FROM INT2_TBL; -QUERY: SELECT '' AS ten, f1 FROM TEMP_FLOAT - ORDER BY f1; -ten| f1 ----+----------- - |-2147483647 - | -123456 - | -32767 - | -1234 - | 0 - | 0 - | 1234 - | 32767 - | 123456 - | 2147483647 -(10 rows) - -QUERY: CREATE TABLE TEMP_INT4 (f1 INT4); -QUERY: INSERT INTO TEMP_INT4 (f1) - SELECT int4(f1) FROM FLOAT8_TBL - WHERE (f1 > -2147483647) AND (f1 < 2147483647); -QUERY: INSERT INTO TEMP_INT4 (f1) - SELECT int4(f1) FROM INT2_TBL; -QUERY: SELECT '' AS nine, f1 FROM TEMP_INT4 - ORDER BY f1; -nine| f1 -----+------ - |-32767 - | -1234 - | -1004 - | -35 - | 0 - | 0 - | 0 - | 0 - | 0 - | 1234 - | 32767 -(11 rows) - -QUERY: CREATE TABLE TEMP_INT2 (f1 INT2); -QUERY: INSERT INTO TEMP_INT2 (f1) - SELECT int2(f1) FROM FLOAT8_TBL - WHERE (f1 >= -32767) AND (f1 <= 32767); -QUERY: INSERT INTO TEMP_INT2 (f1) - SELECT int2(f1) FROM INT4_TBL - WHERE (f1 >= -32767) AND (f1 <= 32767); -QUERY: SELECT '' AS five, f1 FROM TEMP_INT2 - ORDER BY f1; -five| f1 -----+----- - |-1004 - | -35 - | 0 - | 0 - | 0 - | 0 - | 0 -(7 rows) - -QUERY: CREATE TABLE TEMP_GROUP (f1 INT4, f2 INT4, f3 FLOAT8); -QUERY: INSERT INTO TEMP_GROUP - SELECT 1, (- i.f1), (- f.f1) - FROM INT4_TBL i, FLOAT8_TBL f; -QUERY: INSERT INTO TEMP_GROUP - SELECT 2, i.f1, f.f1 - FROM INT4_TBL i, FLOAT8_TBL f; -QUERY: SELECT DISTINCT f1 AS two FROM TEMP_GROUP; -two ---- - 1 - 2 -(2 rows) - -QUERY: SELECT f1 AS two, max(f3) AS max_float, min(f3) as min_float - FROM TEMP_GROUP - GROUP BY two - ORDER BY two, max_float, min_float; -two|max_float |min_float ----+--------------------+--------------------- - 1|1.2345678901234e+200|0 - 2|0 |-1.2345678901234e+200 -(2 rows) - -QUERY: SELECT f1 AS two, max(f3) AS max_float, min(f3) AS min_float - FROM TEMP_GROUP - GROUP BY two - ORDER BY two, max_float, min_float; -two|max_float |min_float ----+--------------------+--------------------- - 1|1.2345678901234e+200|0 - 2|0 |-1.2345678901234e+200 -(2 rows) - -QUERY: SELECT f1 AS two, (max(f3) + 1) AS max_plus_1, (min(f3) - 1) AS min_minus_1 - FROM TEMP_GROUP - GROUP BY two - ORDER BY two, min_minus_1; -two|max_plus_1 |min_minus_1 ----+--------------------+--------------------- - 1|1.2345678901234e+200|-1 - 2|1 |-1.2345678901234e+200 -(2 rows) - -QUERY: SELECT f1 AS two, (max(f3) + 1) AS max_plus_1, (min(f3) - 1) AS min_minus_1 - FROM TEMP_GROUP - GROUP BY two - ORDER BY two, min_minus_1; -two|max_plus_1 |min_minus_1 ----+--------------------+--------------------- - 1|1.2345678901234e+200|-1 - 2|1 |-1.2345678901234e+200 -(2 rows) - -QUERY: DROP TABLE TEMP_INT2; -QUERY: DROP TABLE TEMP_INT4; -QUERY: DROP TABLE TEMP_FLOAT; -QUERY: DROP TABLE TEMP_GROUP; diff --git a/src/test/regress/sql/float8.sql b/src/test/regress/sql/float8.sql index 820d36b08a1fd7a4aaff8ed29ad8e9ec9b15e42f..bc41a610859082367d76241f7de787c8102b9d57 100644 --- a/src/test/regress/sql/float8.sql +++ b/src/test/regress/sql/float8.sql @@ -12,15 +12,6 @@ INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e+200'); INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e-200'); --- test for over and under flow -INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400'); - -INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400'); - -INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400'); - -INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400'); - SELECT '' AS five, FLOAT8_TBL.*; @@ -101,3 +92,29 @@ SELECT '' AS bad, f.f1 / '0.0' from FLOAT8_TBL f; SELECT '' AS five, FLOAT8_TBL.*; +-- test for over and under flow +INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400'); + +INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400'); + +INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400'); + +INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400'); + +-- maintain external table consistency across platforms +-- delete all values and reinsert well-behaved ones + +DELETE FROM FLOAT8_TBL; + +INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0'); + +INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84'); + +INSERT INTO FLOAT8_TBL(f1) VALUES ('-1004.30'); + +INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e+200'); + +INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e-200'); + +SELECT '' AS five, FLOAT8_TBL.*; +