mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
ad126d90e0
This includes both code and test cases.
58 lines
1.5 KiB
Text
58 lines
1.5 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
DROP PROCEDURE IF EXISTS test.p1;
|
|
DROP PROCEDURE IF EXISTS test.p2;
|
|
DROP PROCEDURE IF EXISTS test.p3;
|
|
grant usage on *.* to user1@localhost;
|
|
flush privileges;
|
|
SELECT CURRENT_USER();
|
|
CURRENT_USER()
|
|
root@localhost
|
|
SELECT USER();
|
|
USER()
|
|
root@localhost
|
|
CREATE PROCEDURE test.p1 () SQL SECURITY INVOKER SELECT CURRENT_USER(), USER();
|
|
CREATE PROCEDURE test.p2 () SQL SECURITY DEFINER CALL test.p1();
|
|
CREATE PROCEDURE test.p3 () SQL SECURITY INVOKER CALL test.p1();
|
|
GRANT EXECUTE ON PROCEDURE p1 TO user1@localhost;
|
|
GRANT EXECUTE ON PROCEDURE p2 TO user1@localhost;
|
|
GRANT EXECUTE ON PROCEDURE p3 TO user1@localhost;
|
|
|
|
<******** Master user1 p3 & p2 calls *******>
|
|
----------------------------------------------
|
|
SELECT CURRENT_USER();
|
|
CURRENT_USER()
|
|
user1@localhost
|
|
SELECT USER();
|
|
USER()
|
|
user1@localhost
|
|
CALL test.p3();
|
|
CURRENT_USER() USER()
|
|
user1@localhost user1@localhost
|
|
CALL test.p2();
|
|
CURRENT_USER() USER()
|
|
root@localhost user1@localhost
|
|
|
|
<******** Slave user1 p3 & p2 calls *******>
|
|
---------------------------------------------
|
|
SELECT CURRENT_USER();
|
|
CURRENT_USER()
|
|
user1@localhost
|
|
SELECT USER();
|
|
USER()
|
|
user1@localhost
|
|
CALL test.p3();
|
|
CURRENT_USER() USER()
|
|
user1@localhost user1@localhost
|
|
CALL test.p2();
|
|
CURRENT_USER() USER()
|
|
root@localhost user1@localhost
|
|
DROP PROCEDURE IF EXISTS test.p1;
|
|
DROP PROCEDURE IF EXISTS test.p3;
|
|
DROP PROCEDURE IF EXISTS test.p2;
|
|
DROP TABLE IF EXISTS test.t1;
|
|
DROP TABLE IF EXISTS test.t2;
|