mirror of
https://github.com/MariaDB/server.git
synced 2025-08-17 16:01:35 +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.
66 lines
2.4 KiB
Text
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
|