summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2006-06-26 18:45:46 +0400
committerunknown <konstantin@mysql.com>2006-06-26 18:45:46 +0400
commitfee803af179a3adc89f5e87511489bf44df527dd (patch)
tree83857837ef8ba671f8533131cf5fb0bdbe65f750 /sql/sql_parse.cc
parenta5e194ed526f6974bddc9e847f13d6a431e30b37 (diff)
parent42169376f04a575fc5b21d8c57974493a6444d5e (diff)
downloadmariadb-git-fee803af179a3adc89f5e87511489bf44df527dd.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/opt/local/work/mysql-5.1-runtime mysql-test/r/information_schema.result: Auto merged sql/CMakeLists.txt: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/events.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_yacc.yy: Auto merged mysql-test/t/events_microsec.test: SCCS merged
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index ea4eea19e34..d2d32caa7c8 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -26,7 +26,8 @@
#include "sp_head.h"
#include "sp.h"
#include "sp_cache.h"
-#include "event.h"
+#include "events.h"
+#include "event_timed.h"
#ifdef HAVE_OPENSSL
/*
@@ -3835,7 +3836,9 @@ end_with_restore_list:
uint rows_affected= 1;
DBUG_ASSERT(lex->et);
do {
- if (! lex->et->dbname.str)
+ if (! lex->et->dbname.str ||
+ (lex->sql_command == SQLCOM_ALTER_EVENT && lex->spname &&
+ !lex->spname->m_db.str))
{
my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0));
res= true;
@@ -3843,7 +3846,10 @@ end_with_restore_list:
}
if (check_access(thd, EVENT_ACL, lex->et->dbname.str, 0, 0, 0,
- is_schema_db(lex->et->dbname.str)))
+ is_schema_db(lex->et->dbname.str)) ||
+ (lex->sql_command == SQLCOM_ALTER_EVENT && lex->spname &&
+ (check_access(thd, EVENT_ACL, lex->spname->m_db.str, 0, 0, 0,
+ is_schema_db(lex->spname->m_db.str)))))
break;
if (end_active_trans(thd))