From 9ff0c9f730a79d4dab4303163d45c919f612cc37 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 20 Mar 2014 09:50:45 +0100 Subject: MDEV-5858 MySQL Bug#12744991 - DECIMAL_ROUND(X,D) GIVES WRONG RESULTS WHEN D == N*(-9) don't use mysql-5.6 change. correct fix: zero-out rounded tail after the number was shifted because of the carry digit (otherwise the carry digit will be zeroed out too). --- mysql-test/t/func_math.test | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'mysql-test/t') diff --git a/mysql-test/t/func_math.test b/mysql-test/t/func_math.test index 92ef362c32c..2998742dbcc 100644 --- a/mysql-test/t/func_math.test +++ b/mysql-test/t/func_math.test @@ -538,6 +538,15 @@ SELECT 1 div null; --echo # select (1.175494351E-37 div 1.7976931348623157E+308); +--echo # +--echo # Bug#12744991 - DECIMAL_ROUND(X,D) GIVES WRONG RESULTS WHEN D == N*(-9) +--echo # + +select round(999999999, -9); +select round(999999999.0, -9); +select round(999999999999999999, -18); +select round(999999999999999999.0, -18); + --echo # --echo # Bug#12537160 ASSERTION FAILED: --echo # STOP0 <= &TO->BUF[TO->LEN] WITH LARGE NUMBER. -- cgit v1.2.1