Commit fcb3b032 authored by pem@mysql.comhem.se's avatar pem@mysql.comhem.se

Fixed BUG#9559: Functions: Numeric Operations using -ve value gives incorrect

                  results.
  Actually a problem when converting decimal to int for user variables.
parent 605af1e7
...@@ -3098,4 +3098,15 @@ call bug5963_2(1)| ...@@ -3098,4 +3098,15 @@ call bug5963_2(1)|
call bug5963_2(1)| call bug5963_2(1)|
drop procedure bug5963_2| drop procedure bug5963_2|
drop table t3| drop table t3|
drop function if exists bug9559|
create function bug9559()
returns int
begin
set @y = -6/2;
return @y;
end|
select bug9559()|
bug9559()
-3
drop function bug9559|
drop table t1,t2; drop table t1,t2;
...@@ -3801,6 +3801,25 @@ call bug5963_2(1)| ...@@ -3801,6 +3801,25 @@ call bug5963_2(1)|
drop procedure bug5963_2| drop procedure bug5963_2|
drop table t3| drop table t3|
#
# BUG#9559: Functions: Numeric Operations using -ve value gives incorrect
# results.
#
--disable_warnings
drop function if exists bug9559|
--enable_warnings
create function bug9559()
returns int
begin
set @y = -6/2;
return @y;
end|
select bug9559()|
drop function bug9559|
# #
# BUG#NNNN: New bug synopsis # BUG#NNNN: New bug synopsis
# #
......
...@@ -3597,7 +3597,7 @@ longlong user_var_entry::val_int(my_bool *null_value) ...@@ -3597,7 +3597,7 @@ longlong user_var_entry::val_int(my_bool *null_value)
case DECIMAL_RESULT: case DECIMAL_RESULT:
{ {
longlong result; longlong result;
my_decimal2int(E_DEC_FATAL_ERROR, (my_decimal *)value, 1, &result); my_decimal2int(E_DEC_FATAL_ERROR, (my_decimal *)value, 0, &result);
return result; return result;
} }
case STRING_RESULT: case STRING_RESULT:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment