mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Details: Most tests mentioned within the bug report were already fixed. The test modified here failed in stability (high parallel load) tests. Details: 1. Take care that disconnects are finished before the test terminates. 2. Correct wrong handling of send/reap in events_stress which caused random garbled output 3. Minor beautifying of script code
		
			
				
	
	
		
			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;
 | 
						|
 |