diff options
Diffstat (limited to 'mysql-test/suite/perfschema/include/binlog_ok_common.inc')
-rw-r--r-- | mysql-test/suite/perfschema/include/binlog_ok_common.inc | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/include/binlog_ok_common.inc b/mysql-test/suite/perfschema/include/binlog_ok_common.inc new file mode 100644 index 00000000..d537c6cf --- /dev/null +++ b/mysql-test/suite/perfschema/include/binlog_ok_common.inc @@ -0,0 +1,146 @@ +# Test replication, when using special non-replicated tables. +# +# This test involve special statements that use non-replicated tables. +# Changes affecting non replicated tables are never written to the binlog. +# Executing these statements should work nicely with replication in all cases: +# - STATEMENT binlog format +# - MIXED binlog format +# - ROW binlog format. + +RESET MASTER; + +--disable_warnings +drop database if exists my_local_db; +--enable_warnings + +create database my_local_db; + +create table my_local_db.my_tx_table(a bigint) engine = innodb; +create table my_local_db.my_non_tx_table(a bigint) engine = myisam; + +use test; +drop table if exists marker_start; + +# --binlog-ignore-db only works with the current database. +use my_local_db; + +insert into my_tx_table(a) + values (1000), (2000), (3000); + +insert into my_non_tx_table(a) + values (1000), (2000), (3000); + +use test; +drop table if exists marker_truncate; + +use performance_schema; +truncate table events_waits_history; +truncate table events_waits_history_long; + +use test; +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.host_cache; + +use test; +drop table if exists marker_update; + +use performance_schema; +update setup_instruments set enabled='NO'; +update setup_instruments set timed='NO'; +use test; +update performance_schema.setup_instruments set enabled='YES', timed='YES'; +update performance_schema.threads set instrumented='YES'; + +use test; +drop table if exists marker_insert; + +insert into performance_schema.setup_actors(`user`, `host`, `role`) + values ('XXX', 'XXX', 'XXX'), + ('YYY', 'YYY', 'YYY'), + ('ZZZ', 'ZZZ', 'ZZZ'); + +select * from performance_schema.setup_actors + where user in ('XXX', 'YYY', 'ZZZ') order by user; + +insert into performance_schema.setup_objects + (object_type, object_schema, object_name, enabled, timed) + values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'), + ('TABLE', 'DB1', 'BBB', 'NO', 'NO'), + ('TABLE', 'DB2', 'CCC', 'YES', 'NO'), + ('TABLE', 'DB2', 'DDD', 'NO', 'YES'); + +select * from performance_schema.setup_objects + where object_schema like 'DB%' order by object_name; + +use test; +drop table if exists marker_insert_select; + +# Note: +# The queries used here do not make any sense (no semantic). +# What this test is interrested in, is check the behavior +# when replicating queries that mix both: +# - non replicated tables +# - replicated tables + +use my_local_db; +insert into my_tx_table(a) + select thread_id from performance_schema.threads; + +insert into my_non_tx_table(a) + select thread_id from performance_schema.threads; + +insert into my_tx_table(a) + select id from information_schema.processlist; + +insert into my_non_tx_table(a) + select id from information_schema.processlist; + +insert into my_tx_table(a) + select thread_id from mysql.general_log; + +insert into my_non_tx_table(a) + select thread_id from mysql.general_log; + +insert into my_tx_table(a) + select thread_id from mysql.slow_log; + +insert into my_non_tx_table(a) + select thread_id from mysql.slow_log; + +insert into my_tx_table(a) + select Relay_log_pos from mysql.slave_relay_log_info; + +insert into my_non_tx_table(a) + select Relay_log_pos from mysql.slave_relay_log_info; + +insert into my_tx_table(a) + select Master_log_pos from mysql.slave_master_info; + +insert into my_non_tx_table(a) + select Master_log_pos from mysql.slave_master_info; + +insert into my_tx_table(a) + select Relay_log_pos from mysql.slave_worker_info; + +insert into my_non_tx_table(a) + select Relay_log_pos from mysql.slave_worker_info; + +use test; +drop table if exists marker_delete; + +delete from performance_schema.setup_actors + where user in ('XXX', 'YYY', 'ZZZ'); + +delete from performance_schema.setup_objects + where object_schema like 'DB%'; + +use test; +drop table if exists marker_end; + +drop database my_local_db; + +# The content of the binlog dumped in the result file +# should not contain any references to non-replicated tables. + +--source include/show_binlog_events.inc + |