Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4d17a21

Browse files
committed
Insert a hack into get_float8_nan (both core and ecpg copies) to deal with
the fact that NetBSD/mips is currently broken, as per buildfarm member pika.Also add regression tests to ensure that get_float8_nan and get_float4_nanare exercised even on platforms where they are not needed byfloat8in/float4in.Zoltán Böszörményi and Tom Lane
1 parentbf37983 commit4d17a21

File tree

10 files changed

+45
-5
lines changed

10 files changed

+45
-5
lines changed

‎src/backend/utils/adt/float.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.165 2010/02/08 20:39:51 tgl Exp $
11+
* $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.166 2010/02/27 21:53:21 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -130,7 +130,8 @@ get_float4_infinity(void)
130130
double
131131
get_float8_nan(void)
132132
{
133-
#ifdefNAN
133+
/* (double) NAN doesn't work on some NetBSD/MIPS releases */
134+
#if defined(NAN)&& !(defined(__NetBSD__)&& defined(__mips__))
134135
/* C99 standard way */
135136
return (double)NAN;
136137
#else

‎src/interfaces/ecpg/ecpglib/data.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.50 2010/02/26 02:01:29 momjian Exp $ */
1+
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.51 2010/02/27 21:53:21 tgl Exp $ */
22

33
#definePOSTGRES_ECPG_INTERNAL
44
#include"postgres_fe.h"
55

66
#include<stdlib.h>
77
#include<string.h>
8+
#include<float.h>
89
#include<math.h>
910

1011
#include"ecpgtype.h"
@@ -85,7 +86,8 @@ get_float8_infinity(void)
8586
staticdouble
8687
get_float8_nan(void)
8788
{
88-
#ifdefNAN
89+
/* (double) NAN doesn't work on some NetBSD/MIPS releases */
90+
#if defined(NAN)&& !(defined(__NetBSD__)&& defined(__mips__))
8991
return (double)NAN;
9092
#else
9193
return (double) (0.0 /0.0);

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,12 @@ SELECT 'nan'::float4 / 'nan'::float4;
119119
NaN
120120
(1 row)
121121

122+
SELECT 'nan'::numeric::float4;
123+
float4
124+
--------
125+
NaN
126+
(1 row)
127+
122128
SELECT '' AS five, * FROM FLOAT4_TBL;
123129
five | f1
124130
------+--------------

‎src/test/regress/expected/float4.out

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,12 @@ SELECT 'nan'::float4 / 'nan'::float4;
119119
NaN
120120
(1 row)
121121

122+
SELECT 'nan'::numeric::float4;
123+
float4
124+
--------
125+
NaN
126+
(1 row)
127+
122128
SELECT '' AS five, * FROM FLOAT4_TBL;
123129
five | f1
124130
------+-------------

‎src/test/regress/expected/float8-exp-three-digits-win32.out

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,12 @@ SELECT 'nan'::float8 / 'nan'::float8;
119119
NaN
120120
(1 row)
121121

122+
SELECT 'nan'::numeric::float8;
123+
float8
124+
--------
125+
NaN
126+
(1 row)
127+
122128
SELECT '' AS five, * FROM FLOAT8_TBL;
123129
five | f1
124130
------+----------------------

‎src/test/regress/expected/float8-small-is-zero.out

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ SELECT 'nan'::float8 / 'nan'::float8;
123123
NaN
124124
(1 row)
125125

126+
SELECT 'nan'::numeric::float8;
127+
float8
128+
--------
129+
NaN
130+
(1 row)
131+
126132
SELECT '' AS five, * FROM FLOAT8_TBL;
127133
five | f1
128134
------+----------------------

‎src/test/regress/expected/float8-small-is-zero_1.out

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ SELECT 'nan'::float8 / 'nan'::float8;
123123
NaN
124124
(1 row)
125125

126+
SELECT 'nan'::numeric::float8;
127+
float8
128+
--------
129+
NaN
130+
(1 row)
131+
126132
SELECT '' AS five, * FROM FLOAT8_TBL;
127133
five | f1
128134
------+----------------------

‎src/test/regress/expected/float8.out

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,12 @@ SELECT 'nan'::float8 / 'nan'::float8;
119119
NaN
120120
(1 row)
121121

122+
SELECT 'nan'::numeric::float8;
123+
float8
124+
--------
125+
NaN
126+
(1 row)
127+
122128
SELECT '' AS five, * FROM FLOAT8_TBL;
123129
five | f1
124130
------+----------------------

‎src/test/regress/sql/float4.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ SELECT ' INFINITY x'::float4;
4040
SELECT'Infinity'::float4+100.0;
4141
SELECT'Infinity'::float4/'Infinity'::float4;
4242
SELECT'nan'::float4/'nan'::float4;
43-
43+
SELECT'nan'::numeric::float4;
4444

4545
SELECT''AS five,*FROM FLOAT4_TBL;
4646

‎src/test/regress/sql/float8.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ SELECT ' INFINITY x'::float8;
4040
SELECT'Infinity'::float8+100.0;
4141
SELECT'Infinity'::float8/'Infinity'::float8;
4242
SELECT'nan'::float8/'nan'::float8;
43+
SELECT'nan'::numeric::float8;
4344

4445
SELECT''AS five,*FROM FLOAT8_TBL;
4546

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp