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/r/func_math.result | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'mysql-test/r/func_math.result') diff --git a/mysql-test/r/func_math.result b/mysql-test/r/func_math.result index 23a1f1bc4b3..3631af8a22f 100644 --- a/mysql-test/r/func_math.result +++ b/mysql-test/r/func_math.result @@ -728,6 +728,21 @@ select (1.175494351E-37 div 1.7976931348623157E+308); Warnings: Warning 1916 Got overflow when converting '' to DECIMAL. Value truncated. # +# Bug#12744991 - DECIMAL_ROUND(X,D) GIVES WRONG RESULTS WHEN D == N*(-9) +# +select round(999999999, -9); +round(999999999, -9) +1000000000 +select round(999999999.0, -9); +round(999999999.0, -9) +1000000000 +select round(999999999999999999, -18); +round(999999999999999999, -18) +1000000000000000000 +select round(999999999999999999.0, -18); +round(999999999999999999.0, -18) +1000000000000000000 +# # Bug#12537160 ASSERTION FAILED: # STOP0 <= &TO->BUF[TO->LEN] WITH LARGE NUMBER. # -- cgit v1.2.1