summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorGeorgi Kodinov <joro@sun.com>2009-02-12 11:52:01 +0200
committerGeorgi Kodinov <joro@sun.com>2009-02-12 11:52:01 +0200
commitf9f8fee93c25784e106860fdb724a91e1b67c3b2 (patch)
tree56ed03b2498008b29f1067508a635d28bb21c0e3 /sql/sql_yacc.yy
parent893ca47b63c4c3de972e58b6e7132486aab076e7 (diff)
parent4f0c557340cc4eb6f46a3b1a2cd17b7447aa39cd (diff)
downloadmariadb-git-f9f8fee93c25784e106860fdb724a91e1b67c3b2.tar.gz
merged bug 33813 to 5.1-bugteam
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy33
1 files changed, 3 insertions, 30 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 7df035bbfc3..3b142de4175 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -9256,44 +9256,17 @@ drop:
lex->drop_if_exists=$3;
lex->name= $4;
}
- | DROP FUNCTION_SYM if_exists ident '.' ident
+ | DROP FUNCTION_SYM if_exists sp_name
{
- THD *thd= YYTHD;
- LEX *lex= thd->lex;
- sp_name *spname;
- if (lex->sphead)
- {
- my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
- MYSQL_YYABORT;
- }
- lex->sql_command = SQLCOM_DROP_FUNCTION;
- lex->drop_if_exists= $3;
- spname= new sp_name($4, $6, true);
- if (spname == NULL)
- MYSQL_YYABORT;
- spname->init_qname(thd);
- lex->spname= spname;
- }
- | DROP FUNCTION_SYM if_exists ident
- {
- THD *thd= YYTHD;
- LEX *lex= thd->lex;
- LEX_STRING db= {0, 0};
- sp_name *spname;
+ LEX *lex=Lex;
if (lex->sphead)
{
my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
MYSQL_YYABORT;
}
- if (thd->db && lex->copy_db_to(&db.str, &db.length))
- MYSQL_YYABORT;
lex->sql_command = SQLCOM_DROP_FUNCTION;
lex->drop_if_exists= $3;
- spname= new sp_name(db, $4, false);
- if (spname == NULL)
- MYSQL_YYABORT;
- spname->init_qname(thd);
- lex->spname= spname;
+ lex->spname= $4;
}
| DROP PROCEDURE if_exists sp_name
{