Commit 0b318fd6 authored by unknown's avatar unknown
Browse files

Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.0

into  mysql.com:/home/cps/mysql/trees/mysql-5.0-virgin


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
parents 89e0804d a55963f0
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -3332,4 +3332,20 @@ set @x=y;
end|
call bug13124()|
drop procedure  bug13124|
drop procedure if exists bug12979_1|
create procedure bug12979_1(inout d decimal(5)) set d = d / 2|
set @bug12979_user_var = NULL|
call bug12979_1(@bug12979_user_var)|
drop procedure bug12979_1|
drop procedure if exists bug12979_2|
create procedure bug12979_2()
begin
declare internal_var decimal(5);
set internal_var= internal_var / 2;
select internal_var;
end|
call bug12979_2()|
internal_var
NULL
drop procedure bug12979_2|
drop table t1,t2;
+3 −0
Original line number Diff line number Diff line
@@ -1016,3 +1016,6 @@ v tdec
v	tdec
9	0
drop procedure wg2;
select cast(@non_existing_user_var/2 as DECIMAL);
cast(@non_existing_user_var/2 as DECIMAL)
NULL
+29 −0
Original line number Diff line number Diff line
@@ -4178,6 +4178,35 @@ end|
call bug13124()|
drop procedure  bug13124|

#
# Bug #12979  Stored procedures: crash if inout decimal parameter
#

# check NULL inout parameters processing

--disable_warnings
drop procedure if exists bug12979_1|
--enable_warnings
create procedure bug12979_1(inout d decimal(5)) set d = d / 2|
set @bug12979_user_var = NULL|
call bug12979_1(@bug12979_user_var)|
drop procedure bug12979_1|

# check NULL local variables processing

--disable_warnings
drop procedure if exists bug12979_2|
--enable_warnings
create procedure bug12979_2()
begin
declare internal_var decimal(5);
set internal_var= internal_var / 2;
select internal_var;
end|
call bug12979_2()|
drop procedure bug12979_2|


#
# BUG#NNNN: New bug synopsis
#
+7 −0
Original line number Diff line number Diff line
@@ -1037,3 +1037,10 @@ call wg2()//

delimiter ;//
drop procedure wg2;

#
# Bug #12979 Stored procedures: crash if inout decimal parameter
# (not a SP bug in fact)
#

select cast(@non_existing_user_var/2 as DECIMAL);
+1 −1
Original line number Diff line number Diff line
@@ -765,7 +765,7 @@ my_decimal *Item_func_numhybrid::val_decimal(my_decimal *decimal_value)
  }
  case REAL_RESULT:
  {
    double result= (double)int_op();
    double result= (double)real_op();
    double2my_decimal(E_DEC_FATAL_ERROR, result, decimal_value);
    break;
  }