1#############################################################################
2# Original Author: JBM                                                      #
3# Original Date: Aug/14/2005                                                #
4# Updated: 08/29/2005 added save master pos and sync with master            #
5#############################################################################
6# TEST: Taken and modified from BUG#12048 After Insert updates replication  #
7#############################################################################
8
9# Includes
10-- source include/have_binlog_format_row.inc
11-- source include/master-slave.inc
12
13#-- disable_query_log
14#-- disable_result_log
15
16# Begin clean up test section
17connection master;
18--disable_warnings
19--error 0,1360
20DROP TRIGGER test.t2_ai;
21DROP TABLE IF EXISTS test.t1;
22DROP TABLE IF EXISTS test.t2;
23DROP TABLE IF EXISTS test.t3;
24--enable_warnings
25
26# test section 1,  Taken from bug #12408
27
28CREATE TABLE test.t2 (value CHAR(30),domain_id INT, mailaccount_id INT, program CHAR(30),keey CHAR(30),PRIMARY KEY(domain_id));
29
30CREATE TABLE test.t3 (value CHAR(30),domain_id INT, mailaccount_id INT, program CHAR(30),keey CHAR(30),PRIMARY KEY(domain_id));
31
32CREATE TABLE test.t1 (id INT,domain CHAR(30),PRIMARY KEY(id));
33
34delimiter |;
35CREATE 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'|
36delimiter ;|
37
38INSERT INTO test.t1 VALUES (1, 'example.com'),(2, 'mysql.com'),(3, 'earthmotherwear.com'), (4, 'yahoo.com'),(5, 'example.com');
39
40SELECT * FROM test.t1 ORDER BY id;
41#show binlog events;
42sync_slave_with_master;
43SELECT * FROM test.t1 ORDER BY id;
44connection master;
45
46INSERT INTO test.t3 VALUES ('Yes', 5, NULL, 'spamfilter','scan_incoming');
47INSERT INTO test.t3 VALUES ('Yes', 1, NULL, 'spamfilter','scan_incoming');
48INSERT INTO test.t2 VALUES ('Yes', 1, NULL, 'spamfilter','scan_incoming');
49
50select * from test.t2;
51--sorted_result
52select * from test.t3;
53sync_slave_with_master;
54select * from test.t2;
55--sorted_result
56select * from test.t3;
57connection master;
58
59DELETE FROM test.t1 WHERE id = 1;
60
61SELECT * FROM test.t1 ORDER BY id;
62connection master;
63SELECT * FROM test.t1 ORDER BY id;
64sync_slave_with_master;
65SELECT * FROM test.t1 ORDER BY id;
66
67# Cleanup
68connection master;
69#show binlog events;
70DROP TRIGGER test.t2_ai;
71DROP TABLE test.t1;
72DROP TABLE test.t2;
73DROP TABLE test.t3;
74sync_slave_with_master;
75
76# End of 5.0 test case
77--source include/rpl_end.inc
78