Fix multiplication of abs() by a negative value. (Bug #11402)

This commit is contained in:
jimw@mysql.com 2005-06-22 20:00:21 -07:00
parent 53761ce08f
commit 1fa7b95d98
3 changed files with 8 additions and 3 deletions

View File

@ -137,3 +137,6 @@ select * from t1;
round(1, 6)
1.000000
drop table t1;
select abs(-2) * -2;
abs(-2) * -2
-4

View File

@ -71,3 +71,8 @@ create table t1 select round(1, 6);
show create table t1;
select * from t1;
drop table t1;
#
# Bug #11402: abs() forces rest of calculation to unsigned
#
select abs(-2) * -2;

View File

@ -914,10 +914,7 @@ void Item_func_abs::fix_length_and_dec()
max_length=args[0]->max_length;
hybrid_type= REAL_RESULT;
if (args[0]->result_type() == INT_RESULT)
{
hybrid_type= INT_RESULT;
unsigned_flag= 1;
}
}