mariadb/mysql-test/main/ps_show_log.result
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

66 lines
2.4 KiB
Text

#
# MDEV-24208 SHOW RELAYLOG EVENTS command is not supported in the prepared
# statement protocol yet
#
CREATE USER u1;
include/master-slave.inc
[connection master]
connection master;
CREATE TABLE t1(n INT);
DROP TABLE t1;
connection slave;
PREPARE stmt_1 FROM 'SHOW BINLOG EVENTS';
EXECUTE stmt_1;
Log_name Pos Event_type Server_id End_log_pos Info
# # Format_desc # # #
# # Gtid_list # # []
# # Binlog_checkpoint # # #
# # Gtid # # GTID 0-1-1
# # Query # # use `test`; CREATE TABLE t1(n INT)
# # Gtid # # GTID 0-1-2
# # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
# Execute the same prepared statement the second time to check that
# no internal structures used for handling the statement
# 'SHOW BINLOG EVENTS' were damaged.
EXECUTE stmt_1;
Log_name Pos Event_type Server_id End_log_pos Info
# # Format_desc # # #
# # Gtid_list # # []
# # Binlog_checkpoint # # #
# # Gtid # # GTID 0-1-1
# # Query # # use `test`; CREATE TABLE t1(n INT)
# # Gtid # # GTID 0-1-2
# # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
DEALLOCATE PREPARE stmt_1;
connection slave;
PREPARE stmt_1 FROM 'SHOW RELAYLOG EVENTS';
EXECUTE stmt_1;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000001 # Format_desc # # #
slave-relay-bin.000001 # Rotate # # #
# Execute the same prepared statement the second time to check that
# no internal structures used for handling the statement
# 'SHOW RELAYLOG EVENTS' were damaged.
EXECUTE stmt_1;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000001 # Format_desc # # #
slave-relay-bin.000001 # Rotate # # #
DEALLOCATE PREPARE stmt_1;
# Create the user u1 without the REPLICATION SLAVE privilege required
# for running the statements SHOW BINLOG EVENTS/SHOW RELAYLOG EVENTS
# and check that attempt to execute the statements SHOW BINLOG EVENTS/
# SHOW RELAYLOG EVENTS as a prepared statements by a user without required
# privileges results in error.
connect con2,localhost,u1,,"*NO-ONE*";
PREPARE stmt_1 FROM 'SHOW BINLOG EVENTS';
EXECUTE stmt_1;
ERROR 42000: Access denied; you need (at least one of) the BINLOG MONITOR privilege(s) for this operation
PREPARE stmt_1 FROM 'SHOW RELAYLOG EVENTS';
EXECUTE stmt_1;
ERROR 42000: Access denied; you need (at least one of) the SLAVE MONITOR privilege(s) for this operation
DEALLOCATE PREPARE stmt_1;
include/rpl_end.inc
connection default;
disconnect con2;
DROP USER u1;
# End of 10.2 tests