############################################################################# # Original Author: JBM # # Original Date: Aug/14/2005 # # Updated: 08/29/2005 added save master pos and sync with master # ############################################################################# # TEST: Taken and modified from BUG#12048 After Insert updates replication # ############################################################################# # Includes -- source include/have_binlog_format_row.inc -- source include/master-slave.inc #-- disable_query_log #-- disable_result_log # Begin clean up test section connection master; --disable_warnings --error 0,1360 DROP TRIGGER test.t2_ai; DROP TABLE IF EXISTS test.t1; DROP TABLE IF EXISTS test.t2; DROP TABLE IF EXISTS test.t3; --enable_warnings # test section 1, Taken from bug #12408 CREATE TABLE test.t2 (value CHAR(30),domain_id INT, mailaccount_id INT, program CHAR(30),keey CHAR(30),PRIMARY KEY(domain_id)); CREATE TABLE test.t3 (value CHAR(30),domain_id INT, mailaccount_id INT, program CHAR(30),keey CHAR(30),PRIMARY KEY(domain_id)); CREATE TABLE test.t1 (id INT,domain CHAR(30),PRIMARY KEY(id)); delimiter |; CREATE TRIGGER test.t2_ai AFTER INSERT ON test.t2 FOR EACH ROW UPDATE test.t3 ms, test.t1 d SET ms.value='No' WHERE ms.domain_id = (SELECT max(id) FROM test.t1 WHERE domain='example.com') AND ms.mailaccount_id IS NULL AND ms.program='spamfilter' AND ms.keey='scan_incoming'| delimiter ;| INSERT INTO test.t1 VALUES (1, 'example.com'),(2, 'mysql.com'),(3, 'earthmotherwear.com'), (4, 'yahoo.com'),(5, 'example.com'); SELECT * FROM test.t1 ORDER BY id; #show binlog events; sync_slave_with_master; SELECT * FROM test.t1 ORDER BY id; connection master; INSERT INTO test.t3 VALUES ('Yes', 5, NULL, 'spamfilter','scan_incoming'); INSERT INTO test.t3 VALUES ('Yes', 1, NULL, 'spamfilter','scan_incoming'); INSERT INTO test.t2 VALUES ('Yes', 1, NULL, 'spamfilter','scan_incoming'); select * from test.t2; --sorted_result select * from test.t3; sync_slave_with_master; select * from test.t2; --sorted_result select * from test.t3; connection master; DELETE FROM test.t1 WHERE id = 1; SELECT * FROM test.t1 ORDER BY id; connection master; SELECT * FROM test.t1 ORDER BY id; sync_slave_with_master; SELECT * FROM test.t1 ORDER BY id; # Cleanup connection master; #show binlog events; DROP TRIGGER test.t2_ai; DROP TABLE test.t1; DROP TABLE test.t2; DROP TABLE test.t3; sync_slave_with_master; # End of 5.0 test case --source include/rpl_end.inc