mirror of
https://github.com/MariaDB/server.git
synced 2025-08-09 12:01:34 +02:00

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.
45 lines
1,010 B
Text
45 lines
1,010 B
Text
#
|
|
# MDEV-6896 kill user command cause MariaDB crash!
|
|
#
|
|
create user foo@'127.0.0.1';
|
|
connect con1,127.0.0.1,foo,,;
|
|
connection default;
|
|
select user from information_schema.processlist;
|
|
user
|
|
foo
|
|
root
|
|
kill user foo@'127.0.0.1';
|
|
drop user foo@'127.0.0.1';
|
|
#
|
|
# KILL USER and missing privileges
|
|
#
|
|
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;
|
|
Grants for a@127.0.0.1
|
|
GRANT PROCESS ON *.* TO `a`@`127.0.0.1`
|
|
connect b,127.0.0.1,b;
|
|
show processlist;
|
|
Id User Host db Command Time State Info Progress
|
|
# b # test # # starting show processlist #
|
|
kill user a;
|
|
kill user x;
|
|
connection a;
|
|
show processlist;
|
|
Id User Host db Command Time State Info Progress
|
|
# root # test # # # # #
|
|
# a # NULL # # # # #
|
|
# b # test # # # # #
|
|
kill user b;
|
|
ERROR HY000: Operation KILL USER failed for b@%
|
|
connection default;
|
|
disconnect a;
|
|
disconnect b;
|
|
drop user a@'127.0.0.1';
|
|
drop user b@'127.0.0.1';
|
|
#
|
|
# End of 10.3 tests
|
|
#
|