mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 19:06:14 +01:00 
			
		
		
		
	 e3d9369774
			
		
	
	
	e3d9369774
	
	
	
		
			
			let's always disconnect a user connection before dropping the said user. MariaDB is traditionally very tolerant to active connections of the dropped user, which isn't the case for most other databases. Let's avoid unintentionally spreading incompatible behavior and disconnect before drop. Except in cases when the test specifically tests such a behavior.
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			722 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			722 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # MDEV-5771 Privileges acquired via roles depend on the order of granting
 | |
| #
 | |
| --source include/not_embedded.inc
 | |
| 
 | |
| create database mysqltest1;
 | |
| create database mysqltest2;
 | |
| 
 | |
| create user foo@localhost;
 | |
| create role r1, r2;
 | |
| grant all on mysqltest1.* to r1;
 | |
| grant all on mysqltest2.* to r2;
 | |
| grant r1 to r2;
 | |
| grant r2 to foo@localhost;
 | |
| 
 | |
| --connect (foo,localhost,foo,,)
 | |
| select current_user;
 | |
| --error ER_DBACCESS_DENIED_ERROR
 | |
| show tables in mysqltest1;
 | |
| --error ER_DBACCESS_DENIED_ERROR
 | |
| show tables in mysqltest2;
 | |
| set role r2;
 | |
| show tables in mysqltest1;
 | |
| show tables in mysqltest2;
 | |
| show grants;
 | |
| 
 | |
| connection default;
 | |
| disconnect foo;
 | |
| drop user foo@localhost;
 | |
| drop role r1;
 | |
| drop role r2;
 | |
| drop database mysqltest1;
 | |
| drop database mysqltest2;
 |