float8 regression test failure in head

Поиск
Список
Период
Сортировка
От Christopher Kings-Lynne
Тема float8 regression test failure in head
Дата
Msg-id 40591858.3090901@familyhealth.com.au
обсуждение исходный текст
Ответы Re: float8 regression test failure in head  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Attached are the test failures I'm currently getting.

-bash-2.05b$ uname -a
FreeBSD mir.internal 4.9-PRERELEASE FreeBSD 4.9-PRERELEASE #0: Mon Sep
22 14:46:18 WST 2003     adrian@mir.internal:/usr/obj/usr/src/sys/MIR  i386


Chris

parallel group (13 tests):  text name char varchar oid boolean int2 int8 int4 float4 bit float8 numeric
     boolean              ... ok
     char                 ... ok
     name                 ... ok
     varchar              ... ok
     text                 ... ok
     int2                 ... ok
     int4                 ... ok
     int8                 ... ok
     oid                  ... ok
     float4               ... ok
     float8               ... FAILED
     bit                  ... ok
     numeric              ... ok
test strings              ... ok
test numerology           ... ok
parallel group (20 tests):  comments lseg time path timetz reltime circle tinterval box abstime point polygon interval
timestampinet type_sanity date timestamptz oidjoins opr_sanity 
     point                ... ok
     lseg                 ... ok
     box                  ... ok
     path                 ... ok
     polygon              ... ok
     circle               ... ok
     date                 ... ok
     time                 ... ok
     timetz               ... ok
     timestamp            ... ok
     timestamptz          ... ok
     interval             ... ok
     abstime              ... ok
     reltime              ... ok
     tinterval            ... ok
     inet                 ... ok
     comments             ... ok
     oidjoins             ... ok
     type_sanity          ... ok
     opr_sanity           ... ok
test geometry             ... ok
test horology             ... ok
test insert               ... ok
test create_function_1    ... ok
test create_type          ... ok
test create_table         ... ok
test create_function_2    ... ok
test copy                 ... ok
parallel group (7 tests):  create_operator create_aggregate vacuum triggers create_misc inherit constraints
     constraints          ... ok
     triggers             ... ok
     create_misc          ... ok
     create_aggregate     ... ok
     create_operator      ... ok
     inherit              ... ok
     vacuum               ... ok
parallel group (2 tests):  create_view create_index
     create_index         ... ok
     create_view          ... ok
test sanity_check         ... ok
test errors               ... ok
test select               ... ok
parallel group (18 tests):  select_distinct_on select_into update random btree_index namespace select_having
select_distincthash_index aggregates case transactions select_implicit union subselect arrays portals join 
     select_into          ... ok
     select_distinct      ... ok
     select_distinct_on   ... ok
     select_implicit      ... ok
     select_having        ... ok
     subselect            ... ok
     union                ... ok
     case                 ... ok
     join                 ... ok
     aggregates           ... ok
     transactions         ... ok
     random               ... ok
     portals              ... ok
     arrays               ... ok
     btree_index          ... ok
     hash_index           ... ok
     update               ... ok
     namespace            ... ok
test privileges           ... ok
test misc                 ... ok
parallel group (5 tests):  select_views portals_p2 cluster foreign_key rules
     select_views         ... ok
     portals_p2           ... ok
     rules                ... ok
     foreign_key          ... ok
     cluster              ... ok
parallel group (13 tests):  limit prepare copy2 domain truncate sequence rangefuncs temp polymorphism without_oid
conversionplpgsql alter_table 
     limit                ... ok
     plpgsql              ... ok
     copy2                ... ok
     temp                 ... ok
     domain               ... ok
     rangefuncs           ... ok
     prepare              ... ok
     without_oid          ... ok
     conversion           ... ok
     truncate             ... ok
     alter_table          ... ok
     sequence             ... ok
     polymorphism         ... ok
test stats                ... ok
*** ./expected/float8-small-is-zero.out    Fri Sep 26 00:16:34 2003
--- ./results/float8.out    Thu Mar 18 11:26:20 2004
***************
*** 7,12 ****
--- 7,86 ----
  INSERT INTO FLOAT8_TBL(f1) VALUES ('   -34.84');
  INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e+200');
  INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e-200');
+ -- test for underflow and overflow
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400');
+ ERROR:  "10e400" is out of range for type double precision
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400');
+ ERROR:  "-10e400" is out of range for type double precision
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400');
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400');
+ -- bad input
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('     ');
+ ERROR:  invalid input syntax for type double precision: "     "
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('xyz');
+ ERROR:  invalid input syntax for type double precision: "xyz"
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('5.0.0');
+ ERROR:  invalid input syntax for type double precision: "5.0.0"
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('5 . 0');
+ ERROR:  invalid input syntax for type double precision: "5 . 0"
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('5.   0');
+ ERROR:  invalid input syntax for type double precision: "5.   0"
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('    - 3');
+ ERROR:  invalid input syntax for type double precision: "    - 3"
+ INSERT INTO FLOAT8_TBL(f1) VALUES ('123           5');
+ ERROR:  invalid input syntax for type double precision: "123           5"
+ -- special inputs
+ SELECT 'NaN'::float8;
+  float8
+ --------
+     NaN
+ (1 row)
+
+ SELECT 'nan'::float8;
+  float8
+ --------
+     NaN
+ (1 row)
+
+ SELECT '   NAN  '::float8;
+  float8
+ --------
+     NaN
+ (1 row)
+
+ SELECT 'infinity'::float8;
+   float8
+ ----------
+  Infinity
+ (1 row)
+
+ SELECT '          -INFINiTY   '::float8;
+   float8
+ -----------
+  -Infinity
+ (1 row)
+
+ -- bad special inputs
+ SELECT 'N A N'::float8;
+ ERROR:  invalid input syntax for type double precision: "N A N"
+ SELECT 'NaN x'::float8;
+ ERROR:  invalid input syntax for type double precision: "NaN x"
+ SELECT ' INFINITY    x'::float8;
+ ERROR:  invalid input syntax for type double precision: " INFINITY    x"
+ SELECT 'Infinity'::float8 + 100.0;
+ ERROR:  type "double precision" value out of range: overflow
+ SELECT 'Infinity'::float8 / 'Infinity'::float8;
+  ?column?
+ ----------
+       NaN
+ (1 row)
+
+ SELECT 'nan'::float8 / 'nan'::float8;
+  ?column?
+ ----------
+       NaN
+ (1 row)
+
  SELECT '' AS five, FLOAT8_TBL.*;
   five |          f1
  ------+----------------------
***************
*** 15,21 ****
        |               -34.84
        | 1.2345678901234e+200
        | 1.2345678901234e-200
! (5 rows)

  SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE f.f1 <> '1004.3';
   four |          f1
--- 89,97 ----
        |               -34.84
        | 1.2345678901234e+200
        | 1.2345678901234e-200
!       |                    0
!       |                   -0
! (7 rows)

  SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE f.f1 <> '1004.3';
   four |          f1
***************
*** 24,30 ****
        |               -34.84
        | 1.2345678901234e+200
        | 1.2345678901234e-200
! (4 rows)

  SELECT '' AS one, f.* FROM FLOAT8_TBL f WHERE f.f1 = '1004.3';
   one |   f1
--- 100,108 ----
        |               -34.84
        | 1.2345678901234e+200
        | 1.2345678901234e-200
!       |                    0
!       |                   -0
! (6 rows)

  SELECT '' AS one, f.* FROM FLOAT8_TBL f WHERE f.f1 = '1004.3';
   one |   f1
***************
*** 38,44 ****
         |                    0
         |               -34.84
         | 1.2345678901234e-200
! (3 rows)

  SELECT '' AS three, f.* FROM FLOAT8_TBL f WHERE  f.f1 < '1004.3';
   three |          f1
--- 116,124 ----
         |                    0
         |               -34.84
         | 1.2345678901234e-200
!        |                    0
!        |                   -0
! (5 rows)

  SELECT '' AS three, f.* FROM FLOAT8_TBL f WHERE  f.f1 < '1004.3';
   three |          f1
***************
*** 46,52 ****
         |                    0
         |               -34.84
         | 1.2345678901234e-200
! (3 rows)

  SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE '1004.3' >= f.f1;
   four |          f1
--- 126,134 ----
         |                    0
         |               -34.84
         | 1.2345678901234e-200
!        |                    0
!        |                   -0
! (5 rows)

  SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE '1004.3' >= f.f1;
   four |          f1
***************
*** 55,61 ****
        |               1004.3
        |               -34.84
        | 1.2345678901234e-200
! (4 rows)

  SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE  f.f1 <= '1004.3';
   four |          f1
--- 137,145 ----
        |               1004.3
        |               -34.84
        | 1.2345678901234e-200
!       |                    0
!       |                   -0
! (6 rows)

  SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE  f.f1 <= '1004.3';
   four |          f1
***************
*** 64,70 ****
        |               1004.3
        |               -34.84
        | 1.2345678901234e-200
! (4 rows)

  SELECT '' AS three, f.f1, f.f1 * '-10' AS x
     FROM FLOAT8_TBL f
--- 148,156 ----
        |               1004.3
        |               -34.84
        | 1.2345678901234e-200
!       |                    0
!       |                   -0
! (6 rows)

  SELECT '' AS three, f.f1, f.f1 * '-10' AS x
     FROM FLOAT8_TBL f
***************
*** 123,129 ****
        |               -34.84 |                34.84
        | 1.2345678901234e+200 | 1.2345678901234e+200
        | 1.2345678901234e-200 | 1.2345678901234e-200
! (5 rows)

  -- truncate
  SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
--- 209,217 ----
        |               -34.84 |                34.84
        | 1.2345678901234e+200 | 1.2345678901234e+200
        | 1.2345678901234e-200 | 1.2345678901234e-200
!       |                    0 |                    0
!       |                   -0 |                    0
! (7 rows)

  -- truncate
  SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
***************
*** 135,141 ****
        |               -34.84 |                  -34
        | 1.2345678901234e+200 | 1.2345678901234e+200
        | 1.2345678901234e-200 |                    0
! (5 rows)

  -- round
  SELECT '' AS five, f.f1, f.f1 % AS round_f1
--- 223,231 ----
        |               -34.84 |                  -34
        | 1.2345678901234e+200 | 1.2345678901234e+200
        | 1.2345678901234e-200 |                    0
!       |                    0 |                    0
!       |                   -0 |                   -0
! (7 rows)

  -- round
  SELECT '' AS five, f.f1, f.f1 % AS round_f1
***************
*** 147,153 ****
        |               -34.84 |                  -35
        | 1.2345678901234e+200 | 1.2345678901234e+200
        | 1.2345678901234e-200 |                    0
! (5 rows)

  -- ceil
  select ceil(f1) as ceil_f1 from float8_tbl f;
--- 237,245 ----
        |               -34.84 |                  -35
        | 1.2345678901234e+200 | 1.2345678901234e+200
        | 1.2345678901234e-200 |                    0
!       |                    0 |                    0
!       |                   -0 |                   -0
! (7 rows)

  -- ceil
  select ceil(f1) as ceil_f1 from float8_tbl f;
***************
*** 158,164 ****
                    -34
   1.2345678901234e+200
                      1
! (5 rows)

  -- floor
  select floor(f1) as floor_f1 from float8_tbl f;
--- 250,258 ----
                    -34
   1.2345678901234e+200
                      1
!                     0
!                    -0
! (7 rows)

  -- floor
  select floor(f1) as floor_f1 from float8_tbl f;
***************
*** 169,175 ****
                    -35
   1.2345678901234e+200
                      0
! (5 rows)

  -- sign
  select sign(f1) as sign_f1 from float8_tbl f;
--- 263,271 ----
                    -35
   1.2345678901234e+200
                      0
!                     0
!                    -0
! (7 rows)

  -- sign
  select sign(f1) as sign_f1 from float8_tbl f;
***************
*** 180,186 ****
        -1
         1
         1
! (5 rows)

  -- square root
  SELECT sqrt(float8 '64') AS eight;
--- 276,284 ----
        -1
         1
         1
!        0
!        0
! (7 rows)

  -- square root
  SELECT sqrt(float8 '64') AS eight;
***************
*** 231,237 ****
        |               -34.84 |    -3.26607421344208
        | 1.2345678901234e+200 | 4.97933859234765e+66
        | 1.2345678901234e-200 |  2.3112042409018e-67
! (5 rows)

  SELECT '' AS five, FLOAT8_TBL.*;
   five |          f1
--- 329,337 ----
        |               -34.84 |    -3.26607421344208
        | 1.2345678901234e+200 | 4.97933859234765e+66
        | 1.2345678901234e-200 |  2.3112042409018e-67
!       |                    0 |                    0
!       |                   -0 |                   -0
! (7 rows)

  SELECT '' AS five, FLOAT8_TBL.*;
   five |          f1
***************
*** 241,247 ****
        |               -34.84
        | 1.2345678901234e+200
        | 1.2345678901234e-200
! (5 rows)

  UPDATE FLOAT8_TBL
     SET f1 = FLOAT8_TBL.f1 * '-1'
--- 341,349 ----
        |               -34.84
        | 1.2345678901234e+200
        | 1.2345678901234e-200
!       |                    0
!       |                   -0
! (7 rows)

  UPDATE FLOAT8_TBL
     SET f1 = FLOAT8_TBL.f1 * '-1'
***************
*** 263,272 ****
  ------+-----------------------
        |                     0
        |                -34.84
        |               -1004.3
        | -1.2345678901234e+200
        | -1.2345678901234e-200
! (5 rows)

  -- test for over- and underflow
  INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400');
--- 365,376 ----
  ------+-----------------------
        |                     0
        |                -34.84
+       |                     0
+       |                    -0
        |               -1004.3
        | -1.2345678901234e+200
        | -1.2345678901234e-200
! (7 rows)

  -- test for over- and underflow
  INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400');

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


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Christopher Kings-Lynne
Дата:
Сообщение: relation_expr vs. qualified_name
Следующее
От: Tom Lane
Дата:
Сообщение: Re: relation_expr vs. qualified_name