mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
item_func.cc:
fix for bug#8461 BUG 8461 - TRUNCATE returns incorrect result if 2nd argument is negative Reason: Both TRUNCATE/ROUND converts INTEGERS to DOUBLE and back to INTEGERS Changed the integer routine to work on integers only. This bug affects 4.1, 5.0 and 5.1 Fixing in 4.1 will need to change the routine to handle different types individually. 5.0 did had different routines for different types already just the INTEGER routine was bad.
This commit is contained in:
@ -203,3 +203,18 @@ NULL
|
||||
Warnings:
|
||||
Error 1365 Division by 0
|
||||
set sql_mode='';
|
||||
select round(111,-10);
|
||||
round(111,-10)
|
||||
0
|
||||
select round(-5000111000111000155,-1);
|
||||
round(-5000111000111000155,-1)
|
||||
-5000111000111000160
|
||||
select round(15000111000111000155,-1);
|
||||
round(15000111000111000155,-1)
|
||||
15000111000111000160
|
||||
select truncate(-5000111000111000155,-1);
|
||||
truncate(-5000111000111000155,-1)
|
||||
-5000111000111000150
|
||||
select truncate(15000111000111000155,-1);
|
||||
truncate(15000111000111000155,-1)
|
||||
15000111000111000150
|
||||
|
Reference in New Issue
Block a user