1 #######################################
2 # Author: Rafal Somla #
4 # Purpose: Test replication of basic #
5 # table operations in various setups #
7 # Based on rpl_ndb_2multi_eng.test by #
9 #######################################
11 --echo --- Doing pre
test cleanup ---
15 DROP
TABLE IF EXISTS t1;
18 #################################################
19 --echo --- Create Table Section ---
21 CREATE
TABLE t1 (
id MEDIUMINT NOT NULL,
25 d DECIMAL(10,4) DEFAULT 0,
27 total BIGINT UNSIGNED,
32 --echo --- Show
table on master ---
36 --echo --- Show
table on slave ---
38 sync_slave_with_master;
41 --source include/rpl_multi_engine2.inc
43 #################################################
44 # Okay lets see how it holds up to table changes
45 --echo ---
Check that simple Alter statements are replicated correctly --
48 # note: table with no PK can't contain blobs if it is to be replicated.
49 ALTER
TABLE t1 MODIFY vc char(32);
51 --echo --- Show the
new improved
table on the master ---
55 --echo --- Make sure that our tables on slave are still same engine ---
56 --echo --- and that the alter statements replicated correctly ---
58 sync_slave_with_master;
61 --source include/rpl_multi_engine2.inc
63 #################################################
64 --echo ---
Check that replication works when slave has more columns than master
66 ALTER
TABLE t1 ADD PRIMARY KEY(
id,total);
67 ALTER
TABLE t1 MODIFY vc TEXT;
69 INSERT INTO t1 VALUES(3,1,
'Testing MySQL databases is a cool ',
70 'Must make it bug free for the customer',
71 654321.4321,15.21,0,1965,
"1905-11-14");
72 INSERT INTO t1 VALUES(20,1,
'Testing MySQL databases is a cool ',
73 'Must make it bug free for the customer',
74 654321.4321,15.21,0,1965,
"1965-11-14");
75 INSERT INTO t1 VALUES(50,1,
'Testing MySQL databases is a cool ',
76 'Must make it bug free for the customer',
77 654321.4321,15.21,0,1965,
"1985-11-14");
79 --echo --- Add columns on slave ---
80 --sync_slave_with_master
81 ALTER
TABLE t1 ADD (u
int, v
char(16)
default 'default');
82 UPDATE t1 SET u=7 WHERE
id < 50;
83 UPDATE t1 SET v=
'explicit' WHERE
id >10;
85 --echo --- Show changed
table on slave ---
92 --source include/rpl_multi_engine2.inc
95 #################################################
96 --echo ---
Check that replication works when master has more columns than slave
99 --echo --- Remove columns on slave ---
100 --sync_slave_with_master
101 ALTER
TABLE t1 DROP COLUMN v;
102 ALTER
TABLE t1 DROP COLUMN u;
103 ALTER
TABLE t1 DROP COLUMN t;
104 ALTER
TABLE t1 DROP COLUMN y;
106 --echo --- Show changed
table on slave ---
108 SHOW CREATE
TABLE t1;
110 --source include/rpl_multi_engine2.inc
113 #################################################
114 --echo --- Do Cleanup --
116 DROP
TABLE IF EXISTS t1;
118 sync_slave_with_master;