Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/suite/roles/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 1 kB image not shown  

Quelle  rebuild_role_grants.test  Sprache: unbekannt

 
Spracherkennung für: .test vermutete Sprache: SQL {SQL[100] ABAP[54] Lisp[50]} [Methode: maximale Elemente, drei Dimensionen]

source include/not_embedded.inc;

create role r1;
create user u1;
grant r1 to u1;

#CHECK IF GRANTS ARE UPDATED ON GRANT
--sorted_result
show grants for u1;

create user u2;

#CHECK THAT GRANTS ARE UPDATED ON ACL_USERS CHANGE
--sorted_result
show grants for u1;
--sorted_result
show grants for u2;
--sorted_result
select * from mysql.roles_mapping;

revoke r1 from u1;
#TEST ERROR MESSAGE
--error ER_CANNOT_REVOKE_ROLE
revoke r1 from u1;
--sorted_result
show grants for u1;
--sorted_result
select * from mysql.roles_mapping;

# granting twice is ok
grant r1 to u1;
grant r1 to u1;
--sorted_result
show grants for u1;
--sorted_result
select * from mysql.roles_mapping;

drop role r1;
--sorted_result
show grants for u1;
--sorted_result
select * from mysql.roles_mapping;

create role r1;
grant r1 to u1;
--sorted_result
select * from mysql.roles_mapping;

drop user u1;
--error ER_NONEXISTING_GRANT
show grants for u1;
--sorted_result
select * from mysql.roles_mapping;

drop role r1;
drop user u2;

#
# MDEV-8614 Assertion `status == 0' failed in add_role_user_mapping_action on RENAME USER
#
create user foo@localhost;
grant create user on *.* to foo@localhost;
--connect (con1, localhost, foo,,)
create role look, isp, xxx, ppp;
rename user current_user to nnnn@'%';
drop role look, isp, xxx, ppp;
connection default;
disconnect con1;
drop user nnnn@'%';

#
# MDEV-17964 Assertion `status == 0' failed in add_role_user_mapping_action
#            upon CREATE USER and DROP ROLE
#
CREATE USER u@localhost;

--let $n= 1
while ($n < 129)
{
  eval CREATE ROLE r$n;
  inc $n;
}

CREATE ROLE n;
CREATE ROLE d WITH ADMIN n;
CREATE ROLE '%' WITH ADMIN u@localhost;
DROP ROLE n;
CREATE USER 't';

--let $n= 1
while ($n < 129)
{
  eval DROP ROLE r$n;
  inc $n;
}

DROP ROLE d;
DROP ROLE '%';
DROP USER 't';
DROP USER u@localhost;

[Dauer der Verarbeitung: 0.20 Sekunden, vorverarbeitet 2026-10-08]