1include/master-slave.inc
2[connection master]
3connection slave;
4SET GLOBAL read_only=1;
5connection master;
6CREATE PROCEDURE testproc()
7BEGIN
8DROP TEMPORARY TABLE IF EXISTS t1_tmp;
9DROP TEMPORARY TABLE IF EXISTS t2_tmp;
10CREATE TEMPORARY TABLE IF NOT EXISTS t1_tmp ( t1 varchar(400) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;
11CREATE TEMPORARY TABLE IF NOT EXISTS t2_tmp ( t2 varchar(16) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
12END|
13SET GLOBAL read_only=1;
14CALL testproc();
15******** None of the above DROP TEMPORARY TABLE statement should be found in binary log ********
16include/show_binlog_events.inc
17Log_name	Pos	Event_type	Server_id	End_log_pos	Info
18master-bin.000001	#	Gtid	#	#	GTID #-#-#
19master-bin.000001	#	Query	#	#	use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `testproc`()
20BEGIN
21DROP TEMPORARY TABLE IF EXISTS t1_tmp;
22DROP TEMPORARY TABLE IF EXISTS t2_tmp;
23CREATE TEMPORARY TABLE IF NOT EXISTS t1_tmp ( t1 varchar(400) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;
24CREATE TEMPORARY TABLE IF NOT EXISTS t2_tmp ( t2 varchar(16) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
25END
26connection slave;
27SELECT @@read_only;
28@@read_only
291
30======== CLEAN UP =========
31connection master;
32DROP TEMPORARY TABLE t1_tmp;
33DROP TEMPORARY TABLE t2_tmp;
34DROP PROCEDURE testproc;
35SET GLOBAL read_only=0;
36connection slave;
37SET GLOBAL read_only=0;
38include/rpl_end.inc
39