Re: [HACKERS] [GENERAL] PgSQL 7.4.2 - NaN on Tru64 UNIX

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Nikola Milutinovic <Nikola(dot)Milutinovic(at)ev(dot)co(dot)yu>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [HACKERS] [GENERAL] PgSQL 7.4.2 - NaN on Tru64 UNIX
Date: 2004-07-10 01:52:19
Message-ID: 200407100152.i6A1qJl19534@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers pgsql-patches


OK, I will use "DBL_QNAN" for the patch.

Your patch has been added to the PostgreSQL unapplied patches list at:

http://momjian.postgresql.org/cgi-bin/pgpatches

I will try to apply it within the next 48 hours.

---------------------------------------------------------------------------

Nikola Milutinovic wrote:
> Nikola Milutinovic wrote:
>
> > + #define NAN DBL_INFINITY
> >
> > The compilation has went smoothly, I'll try to run regression tests.
> > Will let you know if something fails.
>
> Hate to reply to myself, but here goes.
>
> With NAN defined as "DBL_INFINITY" I get 3 failed regression test, most
> notably "float8" test.
>
> With NAN defined as "DBL_QNAN" (double float Quiet NaN) I get just one,
> "float8".
>
> With NAN defined as "DBL_SNAN" (double float Signalling NaN) I get one
> error, "float8".
>
> The "problem" is the same in all three cases, an expression that is
> supposed to cause overflow, does so, but the output error text is
> slightly different. Here is the DIFF file:
>
> *** ./expected/float8.out Thu Sep 25 08:58:06 2003
> --- ./results/float8.out Mon May 17 08:37:51 2004
> ***************
> *** 247,253 ****
> SET f1 = FLOAT8_TBL.f1 * '-1'
> WHERE FLOAT8_TBL.f1 > '0.0';
> SELECT '' AS bad, f.f1 * '1e200' from FLOAT8_TBL f;
> ! ERROR: type "double precision" value out of range: overflow
> SELECT '' AS bad, f.f1 ^ '1e200' from FLOAT8_TBL f;
> ERROR: result is out of range
> SELECT '' AS bad, ln(f.f1) from FLOAT8_TBL f where f.f1 = '0.0' ;
> --- 247,254 ----
> SET f1 = FLOAT8_TBL.f1 * '-1'
> WHERE FLOAT8_TBL.f1 > '0.0';
> SELECT '' AS bad, f.f1 * '1e200' from FLOAT8_TBL f;
> ! ERROR: floating-point exception
> ! DETAIL: An invalid floating-point operation was signaled. This
> probably means an out-of-range result or an invalid operation, suc
> h as division by zero.
> SELECT '' AS bad, f.f1 ^ '1e200' from FLOAT8_TBL f;
> ERROR: result is out of range
> SELECT '' AS bad, ln(f.f1) from FLOAT8_TBL f where f.f1 = '0.0' ;
> ***************
> *** 270,276 ****
>
> -- test for over- and underflow
> 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');
> --- 271,277 ----
>
> -- test for over- and underflow
> INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400');
> ! ERROR: invalid input syntax for type double precision: "10e400"
> 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');
>
> ======================================================================
>
> Any comments?
>
> Nix.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Martijn van Oosterhout 2004-07-10 02:13:08 Re: win32 port
Previous Message Bruce Momjian 2004-07-10 01:49:54 Re: [HACKERS] PgSQL 7.4.2 - NaN on Tru64 UNIX

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2004-07-10 01:57:07 Re: Nested Transactions, Abort All
Previous Message Bruce Momjian 2004-07-10 01:49:54 Re: [HACKERS] PgSQL 7.4.2 - NaN on Tru64 UNIX

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2004-07-10 01:56:34 Re: build infrastructure for extensions v3
Previous Message Bruce Momjian 2004-07-10 01:49:54 Re: [HACKERS] PgSQL 7.4.2 - NaN on Tru64 UNIX