mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# Test KILL and KILL QUERY statements.
 | 
						|
#
 | 
						|
# Killing a connection in an embedded server does not work like in a normal
 | 
						|
# server, if it is waiting for a new statement. In an embedded server, the
 | 
						|
# connection does not read() from a socket, but returns control to the
 | 
						|
# application. 'mysqltest' does not handle the kill request.
 | 
						|
#
 | 
						|
-- source include/not_embedded.inc
 | 
						|
 | 
						|
--echo #
 | 
						|
--echo # MDEV-6896 kill user command cause MariaDB crash!
 | 
						|
--echo #
 | 
						|
--disable_service_connection
 | 
						|
 | 
						|
create user foo@'127.0.0.1';
 | 
						|
 | 
						|
--connect (con1,127.0.0.1,foo,,)
 | 
						|
 | 
						|
--connection default
 | 
						|
select user from information_schema.processlist;
 | 
						|
kill user foo@'127.0.0.1';
 | 
						|
 | 
						|
let $wait_condition=
 | 
						|
    select count(*) = 0 from information_schema.processlist
 | 
						|
    where user = "foo";
 | 
						|
--source include/wait_condition.inc
 | 
						|
drop user foo@'127.0.0.1';
 | 
						|
--enable_service_connection
 | 
						|
 | 
						|
--echo #
 | 
						|
--echo # KILL USER and missing privileges
 | 
						|
--echo #
 | 
						|
create user a@'127.0.0.1';
 | 
						|
create user b@'127.0.0.1';
 | 
						|
grant process on *.* to a@'127.0.0.1';
 | 
						|
grant select on *.* to b@'127.0.0.1';
 | 
						|
--connect a,127.0.0.1,a
 | 
						|
show grants;
 | 
						|
--connect b,127.0.0.1,b
 | 
						|
--replace_column 1 # 3 # 5 # 6 # 9 #
 | 
						|
show processlist;
 | 
						|
kill user a; # existing connection, but not visible to current_user
 | 
						|
kill user x; # not existing connection
 | 
						|
--connection a
 | 
						|
--replace_column 1 # 3 # 5 # 6 # 7 # 8 # 9 #
 | 
						|
show processlist;
 | 
						|
--error ER_KILL_DENIED_ERROR
 | 
						|
kill user b;
 | 
						|
--connection default
 | 
						|
drop user a@'127.0.0.1';
 | 
						|
drop user b@'127.0.0.1';
 | 
						|
 | 
						|
--echo #
 | 
						|
--echo # End of 10.3 tests
 | 
						|
--echo #
 |