Loading mysql-test/r/sp.result +14 −0 Original line number Diff line number Diff line Loading @@ -4768,4 +4768,18 @@ Handler Inner drop procedure bug15011| drop table t3| drop function if exists bug17615| create table t3 (a varchar(256) unicode)| create function bug17615() returns varchar(256) unicode begin declare tmp_res varchar(256) unicode; set tmp_res= 'foo string'; return tmp_res; end| insert into t3 values(bug17615())| select * from t3| a foo string drop function bug17615| drop table t3| drop table t1,t2; mysql-test/t/sp.test +23 −0 Original line number Diff line number Diff line Loading @@ -5615,6 +5615,29 @@ drop procedure bug15011| drop table t3| # # BUG#17615: problem with character set # --disable_warnings drop function if exists bug17615| --enable_warnings create table t3 (a varchar(256) unicode)| create function bug17615() returns varchar(256) unicode begin declare tmp_res varchar(256) unicode; set tmp_res= 'foo string'; return tmp_res; end| insert into t3 values(bug17615())| select * from t3| drop function bug17615| drop table t3| # # BUG#NNNN: New bug synopsis # Loading sql/item_func.cc +2 −0 Original line number Diff line number Diff line Loading @@ -4881,6 +4881,7 @@ Item_func_sp::fix_length_and_dec() { decimals= result_field->decimals(); max_length= result_field->field_length; collation.set(result_field->charset()); DBUG_VOID_RETURN; } Loading @@ -4891,6 +4892,7 @@ Item_func_sp::fix_length_and_dec() } decimals= field->decimals(); max_length= field->field_length; collation.set(field->charset()); maybe_null= 1; delete field; DBUG_VOID_RETURN; Loading Loading
mysql-test/r/sp.result +14 −0 Original line number Diff line number Diff line Loading @@ -4768,4 +4768,18 @@ Handler Inner drop procedure bug15011| drop table t3| drop function if exists bug17615| create table t3 (a varchar(256) unicode)| create function bug17615() returns varchar(256) unicode begin declare tmp_res varchar(256) unicode; set tmp_res= 'foo string'; return tmp_res; end| insert into t3 values(bug17615())| select * from t3| a foo string drop function bug17615| drop table t3| drop table t1,t2;
mysql-test/t/sp.test +23 −0 Original line number Diff line number Diff line Loading @@ -5615,6 +5615,29 @@ drop procedure bug15011| drop table t3| # # BUG#17615: problem with character set # --disable_warnings drop function if exists bug17615| --enable_warnings create table t3 (a varchar(256) unicode)| create function bug17615() returns varchar(256) unicode begin declare tmp_res varchar(256) unicode; set tmp_res= 'foo string'; return tmp_res; end| insert into t3 values(bug17615())| select * from t3| drop function bug17615| drop table t3| # # BUG#NNNN: New bug synopsis # Loading
sql/item_func.cc +2 −0 Original line number Diff line number Diff line Loading @@ -4881,6 +4881,7 @@ Item_func_sp::fix_length_and_dec() { decimals= result_field->decimals(); max_length= result_field->field_length; collation.set(result_field->charset()); DBUG_VOID_RETURN; } Loading @@ -4891,6 +4892,7 @@ Item_func_sp::fix_length_and_dec() } decimals= field->decimals(); max_length= field->field_length; collation.set(field->charset()); maybe_null= 1; delete field; DBUG_VOID_RETURN; Loading