-
- Downloads
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.
Showing
- src/backend/utils/adt/float.c 147 additions, 225 deletionssrc/backend/utils/adt/float.c
- src/backend/utils/adt/int.c 6 additions, 1 deletionsrc/backend/utils/adt/int.c
- src/test/regress/expected/float4-exp-three-digits.out 13 additions, 9 deletionssrc/test/regress/expected/float4-exp-three-digits.out
- src/test/regress/expected/float4.out 13 additions, 9 deletionssrc/test/regress/expected/float4.out
- src/test/regress/expected/float8-exp-three-digits-win32.out 8 additions, 4 deletionssrc/test/regress/expected/float8-exp-three-digits-win32.out
- src/test/regress/expected/float8-small-is-zero.out 8 additions, 4 deletionssrc/test/regress/expected/float8-small-is-zero.out
- src/test/regress/expected/float8-small-is-zero_1.out 8 additions, 4 deletionssrc/test/regress/expected/float8-small-is-zero_1.out
- src/test/regress/expected/float8.out 8 additions, 4 deletionssrc/test/regress/expected/float8.out
- src/test/regress/sql/float4.sql 4 additions, 4 deletionssrc/test/regress/sql/float4.sql
Loading
Please register or sign in to comment