Re: [HACKERS] threads stuff/UnixWare - Mailing list pgsql-patches
From | Larry Rosenman |
---|---|
Subject | Re: [HACKERS] threads stuff/UnixWare |
Date | |
Msg-id | 9033C91450DBD634F6F97770@lerlaptop.lerctr.org Whole thread Raw |
In response to | Re: [HACKERS] threads stuff/UnixWare (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: [HACKERS] threads stuff/UnixWare
|
List | pgsql-patches |
--On Thursday, May 13, 2004 20:49:28 -0400 Tom Lane <tgl@sss.pgh.pa.us> wrote: > Larry Rosenman <ler@lerctr.org> writes: >> the int4/int8 have to do with NaN and Infinity i/o. > > Those we care about. I was hoping CVS tip would Just Work Everywhere > on that point, but evidently not :-(. What do you get? Did it work > better in 7.4? Does Unixware support NaN/Infinity at all? > > regards, tom lane Yes, we support NaN's and Inf. From the fscanf manpage: When matching floating numbers, the locale's decimal point character is taken to introduce a fractional portion, the sequences inf and infinity (case ignored) are taken to represent infinities, and the sequence nan[(m)] (case ignored), where the optional parenthesized m consists of zero or more alphanumeric or underscore (_) characters, are taken to represent NaNs (not-a-numbers). Note, however, that the locale's thousands' separator character will not be recognized as such. I got: *** ./expected/float4.out Thu Mar 11 18:25:40 2004 --- ./results/float4.out Thu May 13 19:08:18 2004 *************** *** 33,67 **** ERROR: invalid input syntax for type real: "123 5" -- special inputs SELECT 'NaN'::float4; ! float4 ! -------- ! NaN ! (1 row) ! SELECT 'nan'::float4; ! float4 ! -------- ! NaN ! (1 row) ! SELECT ' NAN '::float4; ! float4 ! -------- ! NaN ! (1 row) ! SELECT 'infinity'::float4; ! float4 ! ---------- ! Infinity ! (1 row) ! SELECT ' -INFINiTY '::float4; ! float4 ! ----------- ! -Infinity ! (1 row) ! -- bad special inputs SELECT 'N A N'::float4; ERROR: invalid input syntax for type real: "N A N" --- 33,47 ---- ERROR: invalid input syntax for type real: "123 5" -- special inputs SELECT 'NaN'::float4; ! ERROR: invalid input syntax for type real: "NaN" SELECT 'nan'::float4; ! ERROR: invalid input syntax for type real: "nan" SELECT ' NAN '::float4; ! ERROR: invalid input syntax for type real: " NAN " SELECT 'infinity'::float4; ! ERROR: invalid input syntax for type real: "infinity" SELECT ' -INFINiTY '::float4; ! 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,88 **** 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 SELECT 'Infinity'::float4 / 'Infinity'::float4; ! ?column? ! ---------- ! NaN ! (1 row) ! SELECT 'nan'::float4 / 'nan'::float4; ! ?column? ! ---------- ! NaN ! (1 row) ! SELECT '' AS five, FLOAT4_TBL.*; five | f1 ------+------------- --- 50,60 ---- SELECT ' INFINITY x'::float4; ERROR: invalid input syntax for type real: " INFINITY x" SELECT 'Infinity'::float4 + 100.0; ! ERROR: invalid input syntax for type real: "Infinity" SELECT 'Infinity'::float4 / 'Infinity'::float4; ! ERROR: invalid input syntax for type real: "Infinity" SELECT 'nan'::float4 / 'nan'::float4; ! ERROR: invalid input syntax for type real: "nan" SELECT '' AS five, FLOAT4_TBL.*; five | f1 ------+------------- ====================================================================== *** ./expected/float8.out Fri Apr 23 15:32:20 2004 --- ./results/float8.out Thu May 13 19:08:18 2004 *************** *** 33,67 **** 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" --- 33,47 ---- ERROR: invalid input syntax for type double precision: "123 5" -- special inputs SELECT 'NaN'::float8; ! ERROR: invalid input syntax for type double precision: "NaN" SELECT 'nan'::float8; ! ERROR: invalid input syntax for type double precision: "nan" SELECT ' NAN '::float8; ! ERROR: invalid input syntax for type double precision: " NAN " SELECT 'infinity'::float8; ! ERROR: invalid input syntax for type double precision: "infinity" SELECT ' -INFINiTY '::float8; ! 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,88 **** 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 ------+---------------------- --- 50,60 ---- SELECT ' INFINITY x'::float8; ERROR: invalid input syntax for type double precision: " INFINITY x" SELECT 'Infinity'::float8 + 100.0; ! ERROR: invalid input syntax for type double precision: "Infinity" SELECT 'Infinity'::float8 / 'Infinity'::float8; ! ERROR: invalid input syntax for type double precision: "Infinity" SELECT 'nan'::float8 / 'nan'::float8; ! ERROR: invalid input syntax for type double precision: "nan" SELECT '' AS five, FLOAT8_TBL.*; five | f1 ------+---------------------- ====================================================================== *** ./expected/join.out Thu Sep 25 01:58:06 2003 --- ./results/join.out Thu May 13 19:08:49 2004 *************** *** 1732,1739 **** | 6 | 6 | six | | 7 | 7 | seven | | 8 | 8 | eight | - | | | null | | | 0 | zero | (13 rows) SELECT '' AS "xxx", * --- 1732,1739 ---- | 6 | 6 | six | | 7 | 7 | seven | | 8 | 8 | eight | | | 0 | zero | + | | | null | (13 rows) SELECT '' AS "xxx", * *************** *** 1752,1759 **** | 6 | 6 | six | | 7 | 7 | seven | | 8 | 8 | eight | - | | | null | | | 0 | zero | (13 rows) SELECT '' AS "xxx", * --- 1752,1759 ---- | 6 | 6 | six | | 7 | 7 | seven | | 8 | 8 | eight | | | 0 | zero | + | | | null | (13 rows) SELECT '' AS "xxx", * *************** *** 1793,1800 **** -----+---+---+-------+---- | 0 | | zero | | 1 | 4 | one | -1 - | 2 | 3 | two | 2 | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 4 | 1 | four | | 5 | 0 | five | -5 --- 1793,1800 ---- -----+---+---+-------+---- | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 4 + | 2 | 3 | two | 2 | 3 | 2 | three | -3 | 4 | 1 | four | | 5 | 0 | five | -5 *************** *** 1815,1822 **** -----+---+---+-------+---- | 0 | | zero | | 1 | 4 | one | -1 - | 2 | 3 | two | 2 | 2 | 3 | two | 4 | 3 | 2 | three | -3 | 4 | 1 | four | | 5 | 0 | five | -5 --- 1815,1822 ---- -----+---+---+-------+---- | 0 | | zero | | 1 | 4 | one | -1 | 2 | 3 | two | 4 + | 2 | 3 | two | 2 | 3 | 2 | three | -3 | 4 | 1 | four | | 5 | 0 | five | -5 ====================================================================== 7.4.* passed all but join. LER -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: ler@lerctr.org US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
Attachment
pgsql-patches by date: