# # Tests that require transactions # -- source include/not_embedded.inc -- source include/have_innodb.inc --disable_warnings drop database if exists events_test; drop database if exists mysqltest_db2; --enable_warnings create database events_test; use events_test; # # Privilege checks # create user mysqltest_user1@localhost; grant create, insert, select, delete on mysqltest_db2.* to mysqltest_user1@localhost; create database mysqltest_db2; connect (conn1,localhost,mysqltest_user1,,mysqltest_db2); set autocommit=off; # Sanity check select @@autocommit; create table t1 (a varchar(255)) engine=innodb; # Not enough privileges to CREATE EVENT begin work; insert into t1 (a) values ("OK: create event: insufficient privileges"); --error ER_DBACCESS_DENIED_ERROR create event e1 on schedule every 1 day do select 1; rollback work; select * from t1; delete from t1; commit work; # Not enough privileges to ALTER EVENT begin work; insert into t1 (a) values ("OK: alter event: insufficient privileges"); --error ER_DBACCESS_DENIED_ERROR alter event e1 on schedule every 1 day do select 1; rollback work; select * from t1; delete from t1; commit work; # Not enough privileges to DROP EVENT begin work; insert into t1 (a) values ("OK: drop event: insufficient privileges"); --error ER_DBACCESS_DENIED_ERROR drop event e1; rollback work; select * from t1; delete from t1; commit work; # Cleanup disconnect conn1; --source include/wait_until_disconnected.inc connection default; drop user mysqltest_user1@localhost; drop database mysqltest_db2; # # Cleanup # let $wait_condition= select count(*) = 0 from information_schema.processlist where db='events_test' and command = 'Connect' and user=current_user(); --source include/wait_condition.inc drop database events_test;