68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# 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
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								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;
							 | 
						||
| 
								 | 
							
								
							 |