BUG #1378: make check fails in float4 and float8

Started by Rolf Jentschabout 21 years ago2 messagesbugs
Jump to latest
#1Rolf Jentsch
RJentsch@electronicpartner.de

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.

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Rolf Jentsch (#1)
Re: BUG #1378: make check fails in float4 and float8

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/