mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +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.
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| source include/not_embedded.inc;
 | |
| 
 | |
| #create a user with no privileges
 | |
| create user test_user@localhost;
 | |
| create role test_role1;
 | |
| grant test_role1 to test_user@localhost;
 | |
| --sorted_result
 | |
| select user, host from mysql.user where user not like 'root';
 | |
| --sorted_result
 | |
| select * from mysql.roles_mapping;
 | |
| grant select on *.* to test_role1;
 | |
| --sorted_result
 | |
| select * from mysql.user where user='test_role1';
 | |
| 
 | |
| change_user 'test_user';
 | |
| 
 | |
| --error ER_TABLEACCESS_DENIED_ERROR
 | |
| select * from mysql.roles_mapping;
 | |
| 
 | |
| --sorted_result
 | |
| show grants;
 | |
| select current_user(), current_role();
 | |
| set role test_role1;
 | |
| select current_user(), current_role();
 | |
| --sorted_result
 | |
| show grants;
 | |
| --sorted_result
 | |
| select * from mysql.roles_mapping;
 | |
| 
 | |
| set role none;
 | |
| select current_user(), current_role();
 | |
| --error ER_TABLEACCESS_DENIED_ERROR
 | |
| select * from mysql.roles_mapping;
 | |
| 
 | |
| change_user 'root';
 | |
| delete from mysql.user where user='test_role1';
 | |
| delete from mysql.roles_mapping where Role='test_role1';
 | |
| flush privileges;
 | |
| drop user 'test_user'@'localhost';
 | |
| 
 | |
| #
 | |
| # MDEV-9898 SET ROLE NONE can crash mysqld.
 | |
| #
 | |
| 
 | |
| create user user1;
 | |
| 
 | |
| --connect (con1,localhost,user1,,)
 | |
| select current_user;
 | |
| show grants;
 | |
| set role none;
 | |
| 
 | |
| connection default;
 | |
| disconnect con1;
 | |
| drop user user1;
 | |
| 
 |