1# 2# Tests that require transactions 3# 4-- source include/not_embedded.inc 5-- source include/have_innodb.inc 6--disable_warnings 7drop database if exists events_test; 8drop database if exists mysqltest_db2; 9--enable_warnings 10create database events_test; 11use events_test; 12 13# 14# Privilege checks 15# 16set @orig_sql_mode= @@sql_mode; 17set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); 18grant create, insert, select, delete on mysqltest_db2.* 19 to mysqltest_user1@localhost; 20set sql_mode= @orig_sql_mode; 21create database mysqltest_db2; 22connect (conn1,localhost,mysqltest_user1,,mysqltest_db2); 23set autocommit=off; 24# Sanity check 25select @@autocommit; 26create table t1 (a varchar(255)) engine=innodb; 27# Not enough privileges to CREATE EVENT 28begin work; 29insert into t1 (a) values ("OK: create event: insufficient privileges"); 30--error ER_DBACCESS_DENIED_ERROR 31create event e1 on schedule every 1 day do select 1; 32rollback work; 33select * from t1; 34delete from t1; 35commit work; 36# Not enough privileges to ALTER EVENT 37begin work; 38insert into t1 (a) values ("OK: alter event: insufficient privileges"); 39--error ER_DBACCESS_DENIED_ERROR 40alter event e1 on schedule every 1 day do select 1; 41rollback work; 42select * from t1; 43delete from t1; 44commit work; 45# Not enough privileges to DROP EVENT 46begin work; 47insert into t1 (a) values ("OK: drop event: insufficient privileges"); 48--error ER_DBACCESS_DENIED_ERROR 49drop event e1; 50rollback work; 51select * from t1; 52delete from t1; 53commit work; 54# Cleanup 55disconnect conn1; 56--source include/wait_until_disconnected.inc 57connection default; 58drop user mysqltest_user1@localhost; 59drop database mysqltest_db2; 60 61# 62# Cleanup 63# 64let $wait_condition= 65 select count(*) = 0 from information_schema.processlist 66 where db='events_test' and command = 'Connect' and user=current_user(); 67--source include/wait_condition.inc 68 69drop database events_test; 70 71