diff --git a/sql/log_event.cc b/sql/log_event.cc index 0e130158919..01dcb2af21c 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -571,7 +571,7 @@ bool Log_event::write_header(IO_CACHE* file, ulong event_data_length) int4store(header+ SERVER_ID_OFFSET, server_id); int4store(header+ EVENT_LEN_OFFSET, data_written); int4store(header+ LOG_POS_OFFSET, log_pos); - int4store(header+ FLAGS_OFFSET, flags); + int2store(header+ FLAGS_OFFSET, flags); DBUG_RETURN(my_b_safe_write(file, header, sizeof(header)) != 0); } diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index c376e86f18c..add4078ce8e 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -2,6 +2,7 @@ #include "sp_head.h" #include "sql_trigger.h" #include "parse_file.h" +#include "sql_acl.h" static const LEX_STRING triggers_file_type= {(char *)"TRIGGERS", 8}; @@ -54,7 +55,13 @@ int mysql_create_or_drop_trigger(THD *thd, TABLE_LIST *tables, bool create) if (open_and_lock_tables(thd, tables)) DBUG_RETURN(-1); - // TODO: We should check if user has TRIGGER privilege for table here. + /* + TODO: We should check if user has TRIGGER privilege for table here. + Now we just require SUPER privilege for creating/dropping because + we don't have proper privilege checking for triggers in place yet. + */ + if (check_global_access(thd, SUPER_ACL)) + DBUG_RETURN(1); table= tables->table;