From db40f4a57fc173f4e698be5614a6097d7f8e5d7d Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 12 Apr 2005 15:43:24 +0200 Subject: [PATCH] Fixed BUG#7185: Stored procedure crash if identifier is AVG mysql-test/r/sp.result: Added test case for BUG#7185. mysql-test/t/sp.test: Added test case for BUG#7185. sql/sql_yacc.yy: Allow non-reserved words as stored procedure names. --- mysql-test/r/sp.result | 6 ++++++ mysql-test/t/sp.test | 14 ++++++++++++++ sql/sql_yacc.yy | 4 ++-- 3 files changed, 22 insertions(+), 2 deletions(-) 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); }