mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # MDEV-5225 Server crashes on CREATE USER|ROLE CURRENT_ROLE or DROP ROLE CURRENT_ROLE
 | |
| #
 | |
| 
 | |
| # Where CURRENT_USER/CURRENT_ROLE is explicitly allowed by the grammar
 | |
| # the error (if any) should be ER_CANNOT_USER
 | |
| #
 | |
| # Where it's not explicitly allowed, the error is ER_PARSE_ERROR,
 | |
| # because CURRENT_USER/CURRENT_ROLE are reserved words and cannot be
 | |
| # accepted as an identifier.
 | |
| #
 | |
| 
 | |
| --source include/not_embedded.inc
 | |
| 
 | |
| create user foo@localhost;
 | |
| grant create user on *.* to foo@localhost;
 | |
| --change_user foo
 | |
| 
 | |
| --error ER_CANNOT_USER
 | |
| create user current_user;
 | |
| --error ER_CANNOT_USER
 | |
| create user current_role;
 | |
| --error ER_PARSE_ERROR
 | |
| create role current_user;
 | |
| --error ER_CANNOT_USER
 | |
| create role current_role;
 | |
| # this works
 | |
| drop user current_user;
 | |
| --error ER_PARSE_ERROR
 | |
| drop user current_role;
 | |
| --error ER_PARSE_ERROR
 | |
| drop role current_user;
 | |
| --error ER_CANNOT_USER
 | |
| drop role current_role;
 | |
| show warnings;
 | |
| 
 | |
| --change_user root
 | |
| 
 | |
| create role r1;
 | |
| grant r1 to current_user;
 | |
| set role r1;
 | |
| select current_role();
 | |
| 
 | |
| --error ER_CANNOT_USER
 | |
| create user current_role;
 | |
| --error ER_CANNOT_USER
 | |
| create role current_role;
 | |
| --error ER_PARSE_ERROR
 | |
| drop user current_role;
 | |
| drop role current_role;
 | |
| 
 | 
