mariadb/mysql-test/suite/rpl/t/rpl_row_USER.test
Sergei Golubchik e3d9369774 cleanup: disconnect before DROP USER
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.
2025-07-16 09:14:33 +07:00

59 lines
1.8 KiB
Text

#############################################################################
# Original Author: JBM #
# Original Date: Aug/18/2005 #
#############################################################################
# TEST: To test the USER() and CURRENT_USER() in rbr #
#############################################################################
# Change Author: JBM
# Change Date: 2006-01-16
##########
# Includes
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
set local sql_mode="";
# Begin clean up test section
connection master;
--disable_warnings
DROP DATABASE IF EXISTS mysqltest1;
CREATE DATABASE mysqltest1;
--enable_warnings
# Section 1 test
CREATE USER tester IDENTIFIED BY 'test';
GRANT ALL ON mysqltest1.* TO 'tester'@'%' IDENTIFIED BY 'test';
GRANT ALL ON mysqltest1.* TO ''@'localhost%';
FLUSH PRIVILEGES;
connect (m_1,localhost,tester,,mysqltest1);
connection m_1;
CREATE TABLE mysqltest1.t1 (a INT, users VARCHAR(255), PRIMARY KEY(a));
INSERT INTO mysqltest1.t1 VALUES(1,USER());
INSERT INTO mysqltest1.t1 VALUES(2,CURRENT_USER());
delimiter |;
create procedure mysqltest1.p1()
begin
INSERT INTO mysqltest1.t1 VALUES(3,USER());
INSERT INTO mysqltest1.t1 VALUES(4,CURRENT_USER());
end|
delimiter ;|
CALL mysqltest1.p1();
connection master;
SELECT * FROM mysqltest1.t1 ORDER BY a;
--sync_slave_with_master
SELECT * FROM mysqltest1.t1 ORDER BY a;
connection master;
# Lets cleanup
disconnect m_1;
DROP DATABASE mysqltest1;
REVOKE ALL ON mysqltest1.* FROM 'tester'@'%';
REVOKE ALL ON mysqltest1.* FROM ''@'localhost%';
DROP USER tester@'%';
DROP USER ''@'localhost%';
--sync_slave_with_master
# End of 5.0 test case
--source include/rpl_end.inc