diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index 36a4331c9be..3ea9b3676dd 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -2844,4 +2844,10 @@ drop procedure bug6900| drop procedure bug9074| drop procedure bug6900_9074| drop table t3| +drop procedure if exists avg| +create procedure avg () +begin +end| +call avg ()| +drop procedure avg| drop table t1,t2; diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 69c7544ee7c..e31d360c52f 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -3481,6 +3481,20 @@ drop procedure bug6900_9074| drop table t3| +# +# BUG#7185: Stored procedure crash if identifier is AVG +# +--disable_warnings +drop procedure if exists avg| +--enable_warnings +create procedure avg () +begin +end| + +call avg ()| +drop procedure avg| + + # # BUG#NNNN: New bug synopsis # diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 9ff7f4449b2..2516893ee24 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -1328,12 +1328,12 @@ clear_privileges: ; sp_name: - IDENT_sys '.' IDENT_sys + ident '.' ident { $$= new sp_name($1, $3); $$->init_qname(YYTHD); } - | IDENT_sys + | ident { $$= sp_name_current_db_new(YYTHD, $1); }