Skip to content

Commit

Permalink
MDEV-10467 Assertion `nr >= 0.0' failed in Item_sum_std::val_real()
Browse files Browse the repository at this point in the history
Backporting MDEV-5781 from 10.0.
  • Loading branch information
Alexander Barkov committed Aug 3, 2016
1 parent 35c9c85 commit ecb7ce7
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
12 changes: 12 additions & 0 deletions mysql-test/r/func_math.result
Original file line number Diff line number Diff line change
Expand Up @@ -761,3 +761,15 @@ select 5 div 2.0;
select 5.9 div 2, 1.23456789e3 DIV 2, 1.23456789e9 DIV 2, 1.23456789e19 DIV 2;
5.9 div 2 1.23456789e3 DIV 2 1.23456789e9 DIV 2 1.23456789e19 DIV 2
2 617 617283945 6172839450000000000
#
# MDEV-10467 Assertion `nr >= 0.0' failed in Item_sum_std::val_real()
#
CREATE TABLE t1 (i INT);
INSERT INTO t1 VALUES (1),(2);
SELECT STDDEV_SAMP(ROUND('0', 309)) FROM t1;
STDDEV_SAMP(ROUND('0', 309))
0
DROP TABLE t1;
#
# End of 5.5 tests
#
12 changes: 12 additions & 0 deletions mysql-test/t/func_math.test
Original file line number Diff line number Diff line change
Expand Up @@ -567,3 +567,15 @@ select 5.0 div 2.0;
select 5.0 div 2;
select 5 div 2.0;
select 5.9 div 2, 1.23456789e3 DIV 2, 1.23456789e9 DIV 2, 1.23456789e19 DIV 2;

--echo #
--echo # MDEV-10467 Assertion `nr >= 0.0' failed in Item_sum_std::val_real()
--echo #
CREATE TABLE t1 (i INT);
INSERT INTO t1 VALUES (1),(2);
SELECT STDDEV_SAMP(ROUND('0', 309)) FROM t1;
DROP TABLE t1;

--echo #
--echo # End of 5.5 tests
--echo #
3 changes: 3 additions & 0 deletions sql/item_func.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2661,6 +2661,9 @@ double my_double_round(double value, longlong dec, bool dec_unsigned,
volatile double value_div_tmp= value / tmp;
volatile double value_mul_tmp= value * tmp;

if (!dec_negative && my_isinf(tmp)) // "dec" is too large positive number
return value;

if (dec_negative && my_isinf(tmp))
tmp2= 0.0;
else if (!dec_negative && my_isinf(value_mul_tmp))
Expand Down

0 comments on commit ecb7ce7

Please sign in to comment.