mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-15 08:20:16 +08:00
Check for ERANGE in exp() as well.
Improve release docs for ecpg regression tests.
This commit is contained in:
parent
19ce06b91b
commit
e80b0bd69d
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.144 2007/01/06 04:14:55 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.145 2007/01/06 15:18:02 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1444,8 +1444,8 @@ dpow(PG_FUNCTION_ARGS)
|
||||
* using errno. However, some platform/CPU combinations return
|
||||
* errno == EDOM and result == Nan for negative arg1 and very large arg2
|
||||
* (they must be using something different from our floor() test to
|
||||
* decide it's invalid). Other platforms return errno == ERANGE and a
|
||||
* large but finite result to signal overflow.
|
||||
* decide it's invalid). Other platforms (HPPA) return errno == ERANGE
|
||||
* and a large (HUGE_VAL) but finite result to signal overflow.
|
||||
*/
|
||||
errno = 0;
|
||||
result = pow(arg1, arg2);
|
||||
@ -1459,7 +1459,6 @@ dpow(PG_FUNCTION_ARGS)
|
||||
else
|
||||
result = 1;
|
||||
}
|
||||
/* Some platoforms, e.g. HPPA, return ERANGE, but HUGE_VAL, not Inf */
|
||||
else if (errno == ERANGE && !isinf(result))
|
||||
result = get_float8_infinity();
|
||||
|
||||
@ -1477,7 +1476,10 @@ dexp(PG_FUNCTION_ARGS)
|
||||
float8 arg1 = PG_GETARG_FLOAT8(0);
|
||||
float8 result;
|
||||
|
||||
errno = 0;
|
||||
result = exp(arg1);
|
||||
if (errno == ERANGE && !isinf(result))
|
||||
result = get_float8_infinity();
|
||||
|
||||
CHECKFLOATVAL(result, isinf(arg1), false);
|
||||
PG_RETURN_FLOAT8(result);
|
||||
|
@ -35,7 +35,7 @@ For Major Releases
|
||||
* Bump library versions, if appropriate (see below)
|
||||
o src/interfaces/*/Makefile
|
||||
o src/interfaces/*/*/Makefile
|
||||
o update ecpg regression expected files
|
||||
o update ecpg regression expected files for new library number
|
||||
|
||||
* Release notes
|
||||
o check that dashed items from the TODO list are complete
|
||||
|
Loading…
Reference in New Issue
Block a user