]> granicus.if.org Git - postgresql/commitdiff
Test conversion of NaN between float4 and float8.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 20 Apr 2018 23:54:58 +0000 (19:54 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 20 Apr 2018 23:55:08 +0000 (19:55 -0400)
Results from buildfarm member opossum suggest that this doesn't work
quite right on that platform.  We've seen issues with NaN support on
MIPS/NetBSD before ... allegedly they fixed this stuff back in 2010,
but maybe only for small values of "fixed".

If, in fact, opossum fails this test then I plan to revert it;
it's mainly for diagnostic purposes rather than something we'd
necessarily keep long-term.  I think that the failures in window.sql
could be worked around with some code duplication, but I want to
verify my theory about the cause first.

src/test/regress/expected/float4-exp-three-digits.out
src/test/regress/expected/float4.out
src/test/regress/sql/float4.sql

index f17f95697a293780d7f1902f5303fb8f2d742b5e..ea6f77a671a7debdc5b840d82f16b54a37ec41ce 100644 (file)
@@ -125,6 +125,18 @@ SELECT 'nan'::numeric::float4;
     NaN
 (1 row)
 
+SELECT 'nan'::float8::float4;
+ float4 
+--------
+    NaN
+(1 row)
+
+SELECT 'nan'::float4::float8;
+ float8 
+--------
+    NaN
+(1 row)
+
 SELECT '' AS five, * FROM FLOAT4_TBL;
  five |      f1      
 ------+--------------
index fd46a4a1db70da35bac51236c0b76d5f5514b189..ab9b1acd493848c48b1f62f9dc25efb82d57feae 100644 (file)
@@ -125,6 +125,18 @@ SELECT 'nan'::numeric::float4;
     NaN
 (1 row)
 
+SELECT 'nan'::float8::float4;
+ float4 
+--------
+    NaN
+(1 row)
+
+SELECT 'nan'::float4::float8;
+ float8 
+--------
+    NaN
+(1 row)
+
 SELECT '' AS five, * FROM FLOAT4_TBL;
  five |     f1      
 ------+-------------
index 3b363f94635cfc29bcee3c65fe7a6e3031bfc205..e6f5c7425daba2685e1c5e20bd322629fa141f54 100644 (file)
@@ -41,6 +41,8 @@ SELECT 'Infinity'::float4 + 100.0;
 SELECT 'Infinity'::float4 / 'Infinity'::float4;
 SELECT 'nan'::float4 / 'nan'::float4;
 SELECT 'nan'::numeric::float4;
+SELECT 'nan'::float8::float4;
+SELECT 'nan'::float4::float8;
 
 SELECT '' AS five, * FROM FLOAT4_TBL;