mirror of
https://github.com/MariaDB/server.git
synced 2025-07-17 16:58:27 +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.
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;
|