Обсуждение: BUG #1378: make check fails in float4 and float8

Поиск
Список
Период
Сортировка

BUG #1378: make check fails in float4 and float8

От
"Rolf Jentsch"
Дата:
The following bug has been logged online:

Bug reference:      1378
Logged by:          Rolf Jentsch
Email address:      rjentsch@electronicpartner.de
PostgreSQL version: 8.0
Operating system:   SUSE Linux 7.0
Description:        make check fails in float4 and float8
Details:

Hallo,

while trying to install PostgreSQL 8.0.0 RC4 on different versions of SUSE
Linux, I had a Problem with SUSE Linux 7.0.

PostgreSQL-Version is 8.0.0 RC 4
Configure command: ./configure --prefix=/usr/wws/postgres --without-java
--without-tcl

uname -a: Linux lepserver2 2.2.16 #1 Wed Aug 2 20:22:26 GMT 2000 i686
unknown
gcc --version : 2.95.2
libc version : 2.1.3

Description: after configure and make a make check reports to failiures in
the float4 and float8 tests. A diff -u for these tests give the following
results:

rje@lepserver2:/rje/postgresql-8.0.0rc4/src/test/regress > diff -u
expected/float4.out results/float4.out
--- expected/float4.out Fri Mar 12 01:25:40 2004
+++ results/float4.out  Fri Jan  7 19:53:42 2005
@@ -51,17 +51,9 @@
 (1 row)

 SELECT 'infinity'::float4;
-  float4
-----------
- Infinity
-(1 row)
-
+ERROR:  invalid input syntax for type real: "infinity"
 SELECT '          -INFINiTY   '::float4;
-  float4
------------
- -Infinity
-(1 row)
-
+ERROR:  invalid input syntax for type real: "          -INFINiTY   "
 -- bad special inputs
 SELECT 'N A N'::float4;
 ERROR:  invalid input syntax for type real: "N A N"
@@ -70,13 +62,9 @@
 SELECT ' INFINITY    x'::float4;
 ERROR:  invalid input syntax for type real: " INFINITY    x"
 SELECT 'Infinity'::float4 + 100.0;
-ERROR:  type "double precision" value out of range: overflow
+ERROR:  invalid input syntax for type real: "Infinity"
 SELECT 'Infinity'::float4 / 'Infinity'::float4;
- ?column?
-----------
-      NaN
-(1 row)
-
+ERROR:  invalid input syntax for type real: "Infinity"
 SELECT 'nan'::float4 / 'nan'::float4;
  ?column?
 ----------

rje@lepserver2:/rje/postgresql-8.0.0rc4/src/test/regress > diff -u
expected/float8.out results/float8.out
--- expected/float8.out Fri Apr 23 22:32:20 2004
+++ results/float8.out  Fri Jan  7 19:53:42 2005
@@ -51,17 +51,9 @@
 (1 row)

 SELECT 'infinity'::float8;
-  float8
-----------
- Infinity
-(1 row)
-
+ERROR:  invalid input syntax for type double precision: "infinity"
 SELECT '          -INFINiTY   '::float8;
-  float8
------------
- -Infinity
-(1 row)
-
+ERROR:  invalid input syntax for type double precision: "
-INFINiTY   "
 -- bad special inputs
 SELECT 'N A N'::float8;
 ERROR:  invalid input syntax for type double precision: "N A N"
@@ -70,13 +62,9 @@
 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
+ERROR:  invalid input syntax for type double precision: "Infinity"
 SELECT 'Infinity'::float8 / 'Infinity'::float8;
- ?column?
-----------
-      NaN
-(1 row)
-
+ERROR:  invalid input syntax for type double precision: "Infinity"
 SELECT 'nan'::float8 / 'nan'::float8;
  ?column?
 ----------

Additional information:
A small test program showed that the implementation of strtod in this
version of glibc is quite "special": 'inf' is understood but 'infinity' is
not.
after a call to
strtod("infinity",&end)
*end points to "inity", and not to the end of the input as expected.

Re: BUG #1378: make check fails in float4 and float8

От
Peter Eisentraut
Дата:
Rolf Jentsch wrote:
> A small test program showed that the implementation of strtod in this
> version of glibc is quite "special": 'inf' is understood but
> 'infinity' is not.
> after a call to
> strtod("infinity",&end)
> *end points to "inity", and not to the end of the input as expected.

Yes, we have seen this type of misbehavior before.  It may be time to
upgrade your operating system.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/