]> granicus.if.org Git - postgresql/commit
Fix float4/8 to handle Infinity and Nan consistently, e.g. Infinity is a
authorBruce Momjian <bruce@momjian.us>
Tue, 2 Jan 2007 20:00:50 +0000 (20:00 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 2 Jan 2007 20:00:50 +0000 (20:00 +0000)
commitf9ac414c35ea084ff70c564ab2c32adb06d5296f
treecec15aa55c29cbf431576e87ba2e950e0226549b
parent0b56be83441c01419fcf82ebe666e968e6f7b246
Fix float4/8 to handle Infinity and Nan consistently, e.g. Infinity is a
valid result from a computation if one of the input values was infinity.
The previous code assumed an operation that returned infinity was an
overflow.

Handle underflow/overflow consistently, and add checks for aggregate
overflow.

Consistently prevent Inf/Nan from being cast to integer data types.

Fix INT_MIN % -1 to prevent overflow.

Update regression results for new error text.

Per report from Roman Kononov.
src/backend/utils/adt/float.c
src/backend/utils/adt/int.c
src/test/regress/expected/float4-exp-three-digits.out
src/test/regress/expected/float4.out
src/test/regress/expected/float8-exp-three-digits-win32.out
src/test/regress/expected/float8-small-is-zero.out
src/test/regress/expected/float8-small-is-zero_1.out
src/test/regress/expected/float8.out
src/test/regress/sql/float4.sql