summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc31
1 files changed, 15 insertions, 16 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 80e5fff5a58..a4987080b02 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -3832,25 +3832,26 @@ end_with_restore_list:
case SQLCOM_CREATE_EVENT:
case SQLCOM_ALTER_EVENT:
{
- uint rows_affected= 1;
+ uint affected= 1;
DBUG_ASSERT(lex->event_parse_data);
switch (lex->sql_command) {
case SQLCOM_CREATE_EVENT:
- res= Events::get_instance()->create_event(thd, lex->event_parse_data,
- (uint) lex->create_info.options,
- &rows_affected);
+ res= Events::get_instance()->
+ create_event(thd, lex->event_parse_data,
+ lex->create_info.options & HA_LEX_CREATE_IF_NOT_EXISTS,
+ &affected);
break;
case SQLCOM_ALTER_EVENT:
- res= Events::get_instance()->update_event(thd, lex->event_parse_data,
- lex->spname, &rows_affected);
+ res= Events::get_instance()->
+ update_event(thd, lex->event_parse_data, lex->spname, &affected);
break;
default:;
}
- DBUG_PRINT("info", ("CREATE/ALTER/DROP returned error code=%d af_rows=%d",
- res, rows_affected));
+ DBUG_PRINT("info",("DDL error code=%d affected=%d", res, affected));
if (!res)
- send_ok(thd, rows_affected);
+ send_ok(thd, affected);
+ /* Don't do it, if we are inside a SP */
if (!thd->spcont)
{
delete lex->sphead;
@@ -3867,8 +3868,7 @@ end_with_restore_list:
if (! lex->spname->m_db.str)
{
my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0));
- res= true;
- break;
+ goto error;
}
if (check_access(thd, EVENT_ACL, lex->spname->m_db.str, 0, 0, 0,
is_schema_db(lex->spname->m_db.str)))
@@ -3885,11 +3885,10 @@ end_with_restore_list:
res= Events::get_instance()->show_create_event(thd, lex->spname);
else
{
- uint rows_affected= 1;
- if (!(res= Events::get_instance()->drop_event(thd, lex->spname,
- lex->drop_if_exists,
- &rows_affected)))
- send_ok(thd, rows_affected);
+ uint affected= 1;
+ if (!(res= Events::get_instance()->
+ drop_event(thd, lex->spname, lex->drop_if_exists, &affected)))
+ send_ok(thd, affected);
}
break;
}