1
include/master-slave.inc
5
***********************************************************
6
***********************************************************
7
***************** Start of Testing ************************
8
***********************************************************
9
***********************************************************
10
* This test format == binlog_format ROW and engine == 'InnoDB'
11
***********************************************************
12
***********************************************************
14
***** Testing more columns on the Master *****
16
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
18
f5 FLOAT DEFAULT '2.00',
19
f6 CHAR(4) DEFAULT 'TEST',
24
f11 VARBINARY(64))ENGINE='InnoDB';
26
* Alter Table on Slave and drop columns f5 through f11 *
28
alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
30
* Insert data in Master then update and delete some rows*
32
* Select count and 20 rows from Master *
34
SELECT COUNT(*) FROM t1;
38
SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
39
hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
40
f1 f2 f3 f4 f5 f6 f7 f8 f9 hex(f10) hex(f11)
41
2 2 2 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
42
3 3 3 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
43
5 5 5 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
44
6 6 6 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
45
8 8 8 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
46
9 9 9 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
47
11 11 11 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
48
12 12 12 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
49
14 14 14 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
50
15 15 15 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
51
17 17 17 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
52
18 18 18 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
53
20 20 20 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
54
21 21 21 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
55
23 23 23 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
56
24 24 24 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
57
26 26 26 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
58
27 27 27 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
59
29 29 29 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
60
30 30 30 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
62
* Select count and 20 rows from Slave *
64
SELECT COUNT(*) FROM t1;
68
SELECT * FROM t1 ORDER BY f3 LIMIT 20;
90
include/check_slave_is_running.inc
92
***** Testing Altering table def scenario *****
94
CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
96
f5 DOUBLE DEFAULT '2.00',
97
f6 ENUM('a', 'b', 'c') default 'a',
98
f7 DECIMAL(17,9) default '1000.00',
100
f9 NUMERIC(6,4) default '2000.00',
102
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
103
f12 SET('a', 'b', 'c') default 'b')
106
Warning 1264 Out of range value for column 'f9' at row 1
108
CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
110
f5 DOUBLE DEFAULT '2.00',
111
f6 ENUM('a', 'b', 'c') default 'a',
114
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
115
f12 SET('a', 'b', 'c') default 'b')
118
CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
120
f5 DOUBLE DEFAULT '2.00',
121
f6 DECIMAL(17,9) default '1000.00',
123
f8 NUMERIC(6,4) default '2000.00',
125
f10 BINARY(20) not null default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
129
Warning 1264 Out of range value for column 'f8' at row 1
131
CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
158
f30 ENUM ('a','b', 'c') default 'a',
161
f33 SET ('a', 'b', 'c') default 'b',
166
** Alter tables on slave and drop columns **
168
alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
170
alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
171
alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
173
drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
174
drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
175
drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
176
drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
177
drop f33, drop f34, drop f35;
179
** Insert Data into Master **
180
INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
182
INSERT into t2 values (2, 2, 2, 'second',
183
2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
186
3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
189
Warning 1264 Out of range value for column 'f9' at row 1
190
Warning 1264 Out of range value for column 'f9' at row 2
191
INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
192
INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
194
INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
195
INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
196
f9=2.2, f10='seven samurai', f28=222.222, f35='222';
198
Warning 1366 Incorrect integer value: 'seven samurai' for column 'f10' at row 1
199
INSERT into t31 values (1, 1, 3, 'third',
200
/* f5 BIGINT, */ 333333333333333333333333,
201
/* f6 BLOB, */ '3333333333333333333333',
202
/* f7 DATE, */ '2007-07-18',
203
/* f8 DATETIME, */ "2007-07-18",
204
/* f9 FLOAT, */ 3.33333333,
205
/* f10 INT, */ 333333333,
206
/* f11 LONGBLOB, */ '3333333333333333333',
207
/* f12 LONGTEXT, */ '3333333333333333333',
208
/* f13 MEDIUMBLOB, */ '3333333333333333333',
209
/* f14 MEDIUMINT, */ 33,
210
/* f15 MEDIUMTEXT, */ 3.3,
212
/* f17 SMALLINT, */ 3,
213
/* f18 TEXT, */ '33',
214
/* f19 TIME, */ '2:59:58.999',
215
/* f20 TIMESTAMP, */ 20000303000000,
216
/* f21 TINYBLOB, */ '3333',
217
/* f22 TINYINT, */ 3,
218
/* f23 TINYTEXT, */ '3',
219
/* f24 YEAR, */ 3000,
220
/* f25 BINARY(255), */ 'three_33333',
221
/* f26 BIT(64), */ b'011',
222
/* f27 CHAR(255), */ 'three',
223
/* f28 DECIMAL(30,7), */ 3.333,
224
/* f29 DOUBLE, */ 3.333333333333333333333333333,
225
/* f30 ENUM ('a','b','c')*/ 'c',
226
/* f31 FLOAT, */ 3.0,
227
/* f32 NUMERIC(17,9), */ 3.3333,
228
/* f33 SET ('a','b','c'),*/ 'c',
229
/*f34 VARBINARY(1025),*/ '3333 minus 3',
230
/*f35 VARCHAR(257),*/ 'three times three'
233
Warning 1264 Out of range value for column 'f5' at row 1
234
Warning 1264 Out of range value for column 'f24' at row 1
235
INSERT into t31 values (1, 1, 4, 'fourth',
236
/* f5 BIGINT, */ 333333333333333333333333,
237
/* f6 BLOB, */ '3333333333333333333333',
238
/* f7 DATE, */ '2007-07-18',
239
/* f8 DATETIME, */ "2007-07-18",
240
/* f9 FLOAT, */ 3.33333333,
241
/* f10 INT, */ 333333333,
242
/* f11 LONGBLOB, */ '3333333333333333333',
243
/* f12 LONGTEXT, */ '3333333333333333333',
244
/* f13 MEDIUMBLOB, */ '3333333333333333333',
245
/* f14 MEDIUMINT, */ 33,
246
/* f15 MEDIUMTEXT, */ 3.3,
248
/* f17 SMALLINT, */ 3,
249
/* f18 TEXT, */ '33',
250
/* f19 TIME, */ '2:59:58.999',
251
/* f20 TIMESTAMP, */ 20000303000000,
252
/* f21 TINYBLOB, */ '3333',
253
/* f22 TINYINT, */ 3,
254
/* f23 TINYTEXT, */ '3',
255
/* f24 YEAR, */ 3000,
256
/* f25 BINARY(255), */ 'three_33333',
257
/* f26 BIT(64), */ b'011',
258
/* f27 CHAR(255), */ 'three',
259
/* f28 DECIMAL(30,7), */ 3.333,
260
/* f29 DOUBLE, */ 3.333333333333333333333333333,
261
/* f30 ENUM ('a','b','c')*/ 'c',
262
/* f31 FLOAT, */ 3.0,
263
/* f32 NUMERIC(17,9), */ 3.3333,
264
/* f33 SET ('a','b','c'),*/ 'c',
265
/*f34 VARBINARY(1025),*/ '3333 minus 3',
266
/*f35 VARCHAR(257),*/ 'three times three'
269
/* f5 BIGINT, */ 333333333333333333333333,
270
/* f6 BLOB, */ '3333333333333333333333',
271
/* f7 DATE, */ '2007-07-18',
272
/* f8 DATETIME, */ "2007-07-18",
273
/* f9 FLOAT, */ 3.33333333,
274
/* f10 INT, */ 333333333,
275
/* f11 LONGBLOB, */ '3333333333333333333',
276
/* f12 LONGTEXT, */ '3333333333333333333',
277
/* f13 MEDIUMBLOB, */ '3333333333333333333',
278
/* f14 MEDIUMINT, */ 33,
279
/* f15 MEDIUMTEXT, */ 3.3,
281
/* f17 SMALLINT, */ 3,
282
/* f18 TEXT, */ '33',
283
/* f19 TIME, */ '2:59:58.999',
284
/* f20 TIMESTAMP, */ 20000303000000,
285
/* f21 TINYBLOB, */ '3333',
286
/* f22 TINYINT, */ 3,
287
/* f23 TINYTEXT, */ '3',
288
/* f24 YEAR, */ 3000,
289
/* f25 BINARY(255), */ 'three_33333',
290
/* f26 BIT(64), */ b'011',
291
/* f27 CHAR(255), */ 'three',
292
/* f28 DECIMAL(30,7), */ 3.333,
293
/* f29 DOUBLE, */ 3.333333333333333333333333333,
294
/* f30 ENUM ('a','b','c')*/ 'c',
295
/* f31 FLOAT, */ 3.0,
296
/* f32 NUMERIC(17,9), */ 3.3333,
297
/* f33 SET ('a','b','c'),*/ 'c',
298
/*f34 VARBINARY(1025),*/ '3333 minus 3',
299
/*f35 VARCHAR(257),*/ 'three times three'
302
/* f5 BIGINT, */ NULL,
303
/* f6 BLOB, */ '3333333333333333333333',
304
/* f7 DATE, */ '2007-07-18',
305
/* f8 DATETIME, */ "2007-07-18",
306
/* f9 FLOAT, */ 3.33333333,
307
/* f10 INT, */ 333333333,
308
/* f11 LONGBLOB, */ '3333333333333333333',
309
/* f12 LONGTEXT, */ '3333333333333333333',
310
/* f13 MEDIUMBLOB, */ '3333333333333333333',
311
/* f14 MEDIUMINT, */ 33,
312
/* f15 MEDIUMTEXT, */ 3.3,
314
/* f17 SMALLINT, */ 3,
315
/* f18 TEXT, */ '33',
316
/* f19 TIME, */ '2:59:58.999',
317
/* f20 TIMESTAMP, */ 20000303000000,
318
/* f21 TINYBLOB, */ '3333',
319
/* f22 TINYINT, */ 3,
320
/* f23 TINYTEXT, */ '3',
321
/* f24 YEAR, */ 3000,
322
/* f25 BINARY(255), */ 'three_33333',
323
/* f26 BIT(64), */ b'011',
324
/* f27 CHAR(255), */ 'three',
325
/* f28 DECIMAL(30,7), */ 3.333,
326
/* f29 DOUBLE, */ 3.333333333333333333333333333,
327
/* f30 ENUM ('a','b','c')*/ 'c',
328
/* f31 FLOAT, */ 3.0,
329
/* f32 NUMERIC(17,9), */ 3.3333,
330
/* f33 SET ('a','b','c'),*/ 'c',
331
/*f34 VARBINARY(1025),*/ '3333 minus 3',
332
/*f35 VARCHAR(257),*/ NULL
335
Warning 1264 Out of range value for column 'f5' at row 1
336
Warning 1264 Out of range value for column 'f24' at row 1
337
Warning 1264 Out of range value for column 'f5' at row 2
338
Warning 1264 Out of range value for column 'f24' at row 2
339
Warning 1264 Out of range value for column 'f24' at row 3
341
** Sync slave with master **
342
** Do selects from tables **
344
select * from t1 order by f3;
386
select * from t2 order by f1;
391
select * from t3 order by f1;
394
select * from t4 order by f1;
397
select * from t31 order by f3;
406
** Do updates master **
408
update t31 set f5=555555555555555 where f3=6;
409
update t31 set f2=2 where f3=2;
410
update t31 set f1=NULL where f3=1;
411
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
413
Warning 1048 Column 'f3' cannot be null
415
** Delete from Master **
425
** Check slave status **
427
include/check_slave_is_running.inc
429
****************************************
430
* columns in master at middle of table *
431
* Expect: Proper error message *
432
****************************************
434
** Stop and Reset Slave **
439
** create table slave side **
440
CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
443
** Connect to master and create table **
445
CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
446
c CHAR(5), e INT DEFAULT '1')ENGINE='InnoDB';
452
*** Master Data Insert ***
453
set @b1 = 'b1b1b1b1';
454
set @b1 = concat(@b1,@b1);
455
INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
456
(2,@b1,DEFAULT,'JOE',DEFAULT),
457
(3,@b1,DEFAULT,'QA',DEFAULT);
459
********************************************
460
*** Expect slave to fail with Error 1535 ***
461
********************************************
463
include/wait_for_slave_sql_error_and_skip.inc [errno=1535]
464
Last_SQL_Error = 'Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254'
469
*********************************************
470
* More columns in master at middle of table *
471
* Expect: Proper error message *
472
*********************************************
474
*** Create t11 on slave ***
477
CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
480
*** Create t11 on Master ***
481
CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
482
c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
488
*** Master Data Insert ***
489
set @b1 = 'b1b1b1b1';
490
set @b1 = concat(@b1,@b1);
491
INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
492
(2,@b1,'Testing is cool','JOE',DEFAULT),
493
(3,@b1,DEFAULT,'QA',DEFAULT);
495
********************************************
496
*** Expect slave to fail with Error 1535 ***
497
********************************************
499
include/wait_for_slave_sql_error_and_skip.inc [errno=1535]
500
Last_SQL_Error = 'Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15'
505
*********************************************
506
* More columns in master at middle of table *
507
* Expect: This one should pass blob-text *
508
*********************************************
510
*** Create t12 on slave ***
513
CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
516
*** Create t12 on Master ***
517
CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
518
c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
524
*** Master Data Insert ***
525
set @b1 = 'b1b1b1b1';
526
set @b1 = concat(@b1,@b1);
527
INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
528
(2,@b1,'JOE',DEFAULT,DEFAULT),
529
(3,@b1,'QA',DEFAULT,DEFAULT);
531
SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
533
1 62316231623162316231623162316231 Kyle test 1
534
2 62316231623162316231623162316231 JOE test 1
535
3 62316231623162316231623162316231 QA test 1
537
*** Select on Slave ***
538
SELECT a,hex(b),c FROM t12 ORDER BY a;
540
1 62316231623162316231623162316231 Kyle
541
2 62316231623162316231623162316231 JOE
542
3 62316231623162316231623162316231 QA
547
****************************************************
548
* - Alter Master adding columns at middle of table *
549
* Expect: columns added *
550
****************************************************
553
*** Create t14 on slave ***
556
CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
559
*** Create t14 on Master ***
560
CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
562
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
569
*** Master Data Insert ***
570
ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
571
ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
573
set @b1 = 'b1b1b1b1';
574
set @b1 = concat(@b1,@b1);
575
INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
576
(2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
577
(3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
579
SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
580
c1 c2 c3 hex(c4) c5 c6 c7
581
1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
582
2 2.00 This Test Should work 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP
583
3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP
585
*** Select on Slave ****
586
SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
588
1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle
589
2 2.00 This Test Should work 62316231623162316231623162316231 JOE
590
3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA
592
****************************************************
593
* - Alter Master Dropping columns from the middle. *
594
* Expect: columns dropped *
595
****************************************************
597
*** connect to master and drop columns ***
598
ALTER TABLE t14 DROP COLUMN c2;
599
ALTER TABLE t14 DROP COLUMN c7;
601
*** Select from Master ***
602
SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
604
1 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1
605
2 This Test Should work 62316231623162316231623162316231 JOE 1
606
3 If is does not, I will open a bug 62316231623162316231623162316231 QA 1
611
include/wait_for_slave_sql_error.inc [errno=1091]
612
Last_SQL_Error = 'Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7''
622
*************************************************
623
* - Alter Master adding columns at end of table *
624
* Expect: Error 1054 *
625
*************************************************
627
*** Create t15 on slave ***
630
CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
633
*** Create t15 on Master ***
634
CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
636
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
643
*** Master Data Insert ***
644
ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
645
set @b1 = 'b1b1b1b1';
646
set @b1 = concat(@b1,@b1);
647
INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
648
(2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
649
(3,@b1,'QA',DEFAULT,DEFAULT,3.00);
650
SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
651
c1 hex(c4) c5 c6 c7 c2
652
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP 3.00
653
2 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP 3.00
654
3 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP 3.00
656
********************************************
657
*** Expect slave to fail with Error 1054 ***
658
********************************************
660
include/wait_for_slave_sql_error.inc [errno=1054]
661
Last_SQL_Error = 'Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7''
671
************************************************
672
* - Create index on Master column not on slave *
674
************************************************
676
*** Create t16 on slave ***
679
CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
682
*** Create t16 on Master ***
683
CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
685
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
692
*** Master Create Index and Data Insert ***
693
CREATE INDEX part_of_c6 ON t16 (c6);
694
set @b1 = 'b1b1b1b1';
695
set @b1 = concat(@b1,@b1);
696
INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
697
(2,@b1,'JOE',2,DEFAULT),
698
(3,@b1,'QA',3,DEFAULT);
699
SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
701
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
702
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
703
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
709
include/wait_for_slave_sql_error.inc [errno=1072]
710
Last_SQL_Error = 'Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)''
720
*****************************************************
721
* - Delete rows using column on Master not on slave *
722
* Expect: Rows Deleted *
723
*****************************************************
725
*** Create t17 on slave ***
728
CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
731
*** Create t17 on Master ***
732
CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
734
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
741
*** Master Data Insert ***
742
set @b1 = 'b1b1b1b1';
743
set @b1 = concat(@b1,@b1);
744
INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
745
(2,@b1,'JOE',2,DEFAULT),
746
(3,@b1,'QA',3,DEFAULT);
747
SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
749
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
750
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
751
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
753
** Select * from Slave **
754
SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
756
1 62316231623162316231623162316231 Kyle
757
2 62316231623162316231623162316231 JOE
758
3 62316231623162316231623162316231 QA
760
** Delete from master **
761
DELETE FROM t17 WHERE c6 = 3;
762
SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
764
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
765
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
768
SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
770
1 62316231623162316231623162316231 Kyle
771
2 62316231623162316231623162316231 JOE
775
*****************************************************
776
* - Update row using column on Master not on slave *
777
* Expect: Rows updated *
778
*****************************************************
782
*** Create t18 on slave ***
786
CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
789
*** Create t18 on Master ***
790
CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
792
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
799
*** Master Data Insert ***
800
set @b1 = 'b1b1b1b1';
801
set @b1 = concat(@b1,@b1);
802
INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
803
(2,@b1,'JOE',2,DEFAULT),
804
(3,@b1,'QA',3,DEFAULT);
805
SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
807
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
808
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
809
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
811
** Select * from Slave **
812
SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
814
1 62316231623162316231623162316231 Kyle
815
2 62316231623162316231623162316231 JOE
816
3 62316231623162316231623162316231 QA
818
** update from master **
819
UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
820
SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
822
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
823
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
824
3 62316231623162316231623162316231 TEST 3 CURRENT_TIMESTAMP
827
SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
829
1 62316231623162316231623162316231 Kyle
830
2 62316231623162316231623162316231 JOE
831
3 62316231623162316231623162316231 TEST
835
*****************************************************
836
* - Insert UUID column on Master not on slave *
837
* Expect: Rows inserted *
838
*****************************************************
840
*** Create t5 on slave ***
843
CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
846
*** Create t5 on Master ***
847
CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
849
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
856
*** Master Data Insert ***
857
set @b1 = 'b1b1b1b1';
858
INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
859
(2,@b1,'JOE',UUID(),DEFAULT),
860
(3,@b1,'QA',UUID(),DEFAULT);
861
SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
863
1 6231623162316231 Kyle UUID TIME
864
2 6231623162316231 JOE UUID TIME
865
3 6231623162316231 QA UUID TIME
867
** Select * from Slave **
868
SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
870
1 6231623162316231 Kyle
871
2 6231623162316231 JOE
872
3 6231623162316231 QA
874
set binlog_format=statement;
876
***********************************************************
877
***********************************************************
878
***************** Start of Testing ************************
879
***********************************************************
880
***********************************************************
881
* This test format == binlog_format STATEMENT and engine == 'InnoDB'
882
***********************************************************
883
***********************************************************
885
***** Testing more columns on the Master *****
887
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
889
f5 FLOAT DEFAULT '2.00',
890
f6 CHAR(4) DEFAULT 'TEST',
895
f11 VARBINARY(64))ENGINE='InnoDB';
897
* Alter Table on Slave and drop columns f5 through f11 *
899
alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
901
* Insert data in Master then update and delete some rows*
903
* Select count and 20 rows from Master *
905
SELECT COUNT(*) FROM t1;
909
SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
910
hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
911
f1 f2 f3 f4 f5 f6 f7 f8 f9 hex(f10) hex(f11)
912
2 2 2 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
913
3 3 3 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
914
5 5 5 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
915
6 6 6 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
916
8 8 8 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
917
9 9 9 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
918
11 11 11 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
919
12 12 12 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
920
14 14 14 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
921
15 15 15 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
922
17 17 17 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
923
18 18 18 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
924
20 20 20 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
925
21 21 21 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
926
23 23 23 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
927
24 24 24 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
928
26 26 26 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
929
27 27 27 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
930
29 29 29 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
931
30 30 30 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
933
* Select count and 20 rows from Slave *
935
SELECT COUNT(*) FROM t1;
939
SELECT * FROM t1 ORDER BY f3 LIMIT 20;
961
include/check_slave_is_running.inc
963
***** Testing Altering table def scenario *****
965
CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
967
f5 DOUBLE DEFAULT '2.00',
968
f6 ENUM('a', 'b', 'c') default 'a',
969
f7 DECIMAL(17,9) default '1000.00',
971
f9 NUMERIC(6,4) default '2000.00',
973
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
974
f12 SET('a', 'b', 'c') default 'b')
977
Warning 1264 Out of range value for column 'f9' at row 1
979
CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
981
f5 DOUBLE DEFAULT '2.00',
982
f6 ENUM('a', 'b', 'c') default 'a',
985
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
986
f12 SET('a', 'b', 'c') default 'b')
989
CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
991
f5 DOUBLE DEFAULT '2.00',
992
f6 DECIMAL(17,9) default '1000.00',
994
f8 NUMERIC(6,4) default '2000.00',
996
f10 BINARY(20) not null default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
1000
Warning 1264 Out of range value for column 'f8' at row 1
1002
CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
1029
f30 ENUM ('a','b', 'c') default 'a',
1032
f33 SET ('a', 'b', 'c') default 'b',
1033
f34 VARBINARY(1025),
1037
** Alter tables on slave and drop columns **
1039
alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
1041
alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
1042
alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
1044
drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
1045
drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
1046
drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
1047
drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
1048
drop f33, drop f34, drop f35;
1050
** Insert Data into Master **
1051
INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
1053
INSERT into t2 values (2, 2, 2, 'second',
1054
2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
1057
3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
1060
Warning 1264 Out of range value for column 'f9' at row 1
1061
Warning 1264 Out of range value for column 'f9' at row 2
1062
INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
1063
INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
1065
INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
1066
INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
1067
f9=2.2, f10='seven samurai', f28=222.222, f35='222';
1069
Warning 1366 Incorrect integer value: 'seven samurai' for column 'f10' at row 1
1070
INSERT into t31 values (1, 1, 3, 'third',
1071
/* f5 BIGINT, */ 333333333333333333333333,
1072
/* f6 BLOB, */ '3333333333333333333333',
1073
/* f7 DATE, */ '2007-07-18',
1074
/* f8 DATETIME, */ "2007-07-18",
1075
/* f9 FLOAT, */ 3.33333333,
1076
/* f10 INT, */ 333333333,
1077
/* f11 LONGBLOB, */ '3333333333333333333',
1078
/* f12 LONGTEXT, */ '3333333333333333333',
1079
/* f13 MEDIUMBLOB, */ '3333333333333333333',
1080
/* f14 MEDIUMINT, */ 33,
1081
/* f15 MEDIUMTEXT, */ 3.3,
1082
/* f16 REAL, */ 3.3,
1083
/* f17 SMALLINT, */ 3,
1084
/* f18 TEXT, */ '33',
1085
/* f19 TIME, */ '2:59:58.999',
1086
/* f20 TIMESTAMP, */ 20000303000000,
1087
/* f21 TINYBLOB, */ '3333',
1088
/* f22 TINYINT, */ 3,
1089
/* f23 TINYTEXT, */ '3',
1090
/* f24 YEAR, */ 3000,
1091
/* f25 BINARY(255), */ 'three_33333',
1092
/* f26 BIT(64), */ b'011',
1093
/* f27 CHAR(255), */ 'three',
1094
/* f28 DECIMAL(30,7), */ 3.333,
1095
/* f29 DOUBLE, */ 3.333333333333333333333333333,
1096
/* f30 ENUM ('a','b','c')*/ 'c',
1097
/* f31 FLOAT, */ 3.0,
1098
/* f32 NUMERIC(17,9), */ 3.3333,
1099
/* f33 SET ('a','b','c'),*/ 'c',
1100
/*f34 VARBINARY(1025),*/ '3333 minus 3',
1101
/*f35 VARCHAR(257),*/ 'three times three'
1104
Warning 1264 Out of range value for column 'f5' at row 1
1105
Warning 1264 Out of range value for column 'f24' at row 1
1106
INSERT into t31 values (1, 1, 4, 'fourth',
1107
/* f5 BIGINT, */ 333333333333333333333333,
1108
/* f6 BLOB, */ '3333333333333333333333',
1109
/* f7 DATE, */ '2007-07-18',
1110
/* f8 DATETIME, */ "2007-07-18",
1111
/* f9 FLOAT, */ 3.33333333,
1112
/* f10 INT, */ 333333333,
1113
/* f11 LONGBLOB, */ '3333333333333333333',
1114
/* f12 LONGTEXT, */ '3333333333333333333',
1115
/* f13 MEDIUMBLOB, */ '3333333333333333333',
1116
/* f14 MEDIUMINT, */ 33,
1117
/* f15 MEDIUMTEXT, */ 3.3,
1118
/* f16 REAL, */ 3.3,
1119
/* f17 SMALLINT, */ 3,
1120
/* f18 TEXT, */ '33',
1121
/* f19 TIME, */ '2:59:58.999',
1122
/* f20 TIMESTAMP, */ 20000303000000,
1123
/* f21 TINYBLOB, */ '3333',
1124
/* f22 TINYINT, */ 3,
1125
/* f23 TINYTEXT, */ '3',
1126
/* f24 YEAR, */ 3000,
1127
/* f25 BINARY(255), */ 'three_33333',
1128
/* f26 BIT(64), */ b'011',
1129
/* f27 CHAR(255), */ 'three',
1130
/* f28 DECIMAL(30,7), */ 3.333,
1131
/* f29 DOUBLE, */ 3.333333333333333333333333333,
1132
/* f30 ENUM ('a','b','c')*/ 'c',
1133
/* f31 FLOAT, */ 3.0,
1134
/* f32 NUMERIC(17,9), */ 3.3333,
1135
/* f33 SET ('a','b','c'),*/ 'c',
1136
/*f34 VARBINARY(1025),*/ '3333 minus 3',
1137
/*f35 VARCHAR(257),*/ 'three times three'
1140
/* f5 BIGINT, */ 333333333333333333333333,
1141
/* f6 BLOB, */ '3333333333333333333333',
1142
/* f7 DATE, */ '2007-07-18',
1143
/* f8 DATETIME, */ "2007-07-18",
1144
/* f9 FLOAT, */ 3.33333333,
1145
/* f10 INT, */ 333333333,
1146
/* f11 LONGBLOB, */ '3333333333333333333',
1147
/* f12 LONGTEXT, */ '3333333333333333333',
1148
/* f13 MEDIUMBLOB, */ '3333333333333333333',
1149
/* f14 MEDIUMINT, */ 33,
1150
/* f15 MEDIUMTEXT, */ 3.3,
1151
/* f16 REAL, */ 3.3,
1152
/* f17 SMALLINT, */ 3,
1153
/* f18 TEXT, */ '33',
1154
/* f19 TIME, */ '2:59:58.999',
1155
/* f20 TIMESTAMP, */ 20000303000000,
1156
/* f21 TINYBLOB, */ '3333',
1157
/* f22 TINYINT, */ 3,
1158
/* f23 TINYTEXT, */ '3',
1159
/* f24 YEAR, */ 3000,
1160
/* f25 BINARY(255), */ 'three_33333',
1161
/* f26 BIT(64), */ b'011',
1162
/* f27 CHAR(255), */ 'three',
1163
/* f28 DECIMAL(30,7), */ 3.333,
1164
/* f29 DOUBLE, */ 3.333333333333333333333333333,
1165
/* f30 ENUM ('a','b','c')*/ 'c',
1166
/* f31 FLOAT, */ 3.0,
1167
/* f32 NUMERIC(17,9), */ 3.3333,
1168
/* f33 SET ('a','b','c'),*/ 'c',
1169
/*f34 VARBINARY(1025),*/ '3333 minus 3',
1170
/*f35 VARCHAR(257),*/ 'three times three'
1173
/* f5 BIGINT, */ NULL,
1174
/* f6 BLOB, */ '3333333333333333333333',
1175
/* f7 DATE, */ '2007-07-18',
1176
/* f8 DATETIME, */ "2007-07-18",
1177
/* f9 FLOAT, */ 3.33333333,
1178
/* f10 INT, */ 333333333,
1179
/* f11 LONGBLOB, */ '3333333333333333333',
1180
/* f12 LONGTEXT, */ '3333333333333333333',
1181
/* f13 MEDIUMBLOB, */ '3333333333333333333',
1182
/* f14 MEDIUMINT, */ 33,
1183
/* f15 MEDIUMTEXT, */ 3.3,
1184
/* f16 REAL, */ 3.3,
1185
/* f17 SMALLINT, */ 3,
1186
/* f18 TEXT, */ '33',
1187
/* f19 TIME, */ '2:59:58.999',
1188
/* f20 TIMESTAMP, */ 20000303000000,
1189
/* f21 TINYBLOB, */ '3333',
1190
/* f22 TINYINT, */ 3,
1191
/* f23 TINYTEXT, */ '3',
1192
/* f24 YEAR, */ 3000,
1193
/* f25 BINARY(255), */ 'three_33333',
1194
/* f26 BIT(64), */ b'011',
1195
/* f27 CHAR(255), */ 'three',
1196
/* f28 DECIMAL(30,7), */ 3.333,
1197
/* f29 DOUBLE, */ 3.333333333333333333333333333,
1198
/* f30 ENUM ('a','b','c')*/ 'c',
1199
/* f31 FLOAT, */ 3.0,
1200
/* f32 NUMERIC(17,9), */ 3.3333,
1201
/* f33 SET ('a','b','c'),*/ 'c',
1202
/*f34 VARBINARY(1025),*/ '3333 minus 3',
1203
/*f35 VARCHAR(257),*/ NULL
1206
Warning 1264 Out of range value for column 'f5' at row 1
1207
Warning 1264 Out of range value for column 'f24' at row 1
1208
Warning 1264 Out of range value for column 'f5' at row 2
1209
Warning 1264 Out of range value for column 'f24' at row 2
1210
Warning 1264 Out of range value for column 'f24' at row 3
1212
** Sync slave with master **
1213
** Do selects from tables **
1215
select * from t1 order by f3;
1257
select * from t2 order by f1;
1262
select * from t3 order by f1;
1265
select * from t4 order by f1;
1268
select * from t31 order by f3;
1277
** Do updates master **
1279
update t31 set f5=555555555555555 where f3=6;
1280
update t31 set f2=2 where f3=2;
1281
update t31 set f1=NULL where f3=1;
1282
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
1284
Warning 1048 Column 'f3' cannot be null
1286
** Delete from Master **
1296
** Check slave status **
1298
include/check_slave_is_running.inc
1300
****************************************
1301
* columns in master at middle of table *
1302
* Expect: Proper error message *
1303
****************************************
1305
** Stop and Reset Slave **
1310
** create table slave side **
1311
CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
1314
** Connect to master and create table **
1316
CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
1317
c CHAR(5), e INT DEFAULT '1')ENGINE='InnoDB';
1323
*** Master Data Insert ***
1324
set @b1 = 'b1b1b1b1';
1325
set @b1 = concat(@b1,@b1);
1326
INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
1327
(2,@b1,DEFAULT,'JOE',DEFAULT),
1328
(3,@b1,DEFAULT,'QA',DEFAULT);
1330
********************************************
1331
*** Expect slave to fail with Error 1535 ***
1332
********************************************
1334
include/wait_for_slave_sql_error_and_skip.inc [errno=1535]
1335
Last_SQL_Error = 'Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254'
1340
*********************************************
1341
* More columns in master at middle of table *
1342
* Expect: Proper error message *
1343
*********************************************
1345
*** Create t11 on slave ***
1348
CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
1351
*** Create t11 on Master ***
1352
CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
1353
c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
1359
*** Master Data Insert ***
1360
set @b1 = 'b1b1b1b1';
1361
set @b1 = concat(@b1,@b1);
1362
INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
1363
(2,@b1,'Testing is cool','JOE',DEFAULT),
1364
(3,@b1,DEFAULT,'QA',DEFAULT);
1366
********************************************
1367
*** Expect slave to fail with Error 1535 ***
1368
********************************************
1370
include/wait_for_slave_sql_error_and_skip.inc [errno=1535]
1371
Last_SQL_Error = 'Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15'
1376
*********************************************
1377
* More columns in master at middle of table *
1378
* Expect: This one should pass blob-text *
1379
*********************************************
1381
*** Create t12 on slave ***
1384
CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
1387
*** Create t12 on Master ***
1388
CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
1389
c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
1395
*** Master Data Insert ***
1396
set @b1 = 'b1b1b1b1';
1397
set @b1 = concat(@b1,@b1);
1398
INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
1399
(2,@b1,'JOE',DEFAULT,DEFAULT),
1400
(3,@b1,'QA',DEFAULT,DEFAULT);
1402
SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
1404
1 62316231623162316231623162316231 Kyle test 1
1405
2 62316231623162316231623162316231 JOE test 1
1406
3 62316231623162316231623162316231 QA test 1
1408
*** Select on Slave ***
1409
SELECT a,hex(b),c FROM t12 ORDER BY a;
1411
1 62316231623162316231623162316231 Kyle
1412
2 62316231623162316231623162316231 JOE
1413
3 62316231623162316231623162316231 QA
1418
****************************************************
1419
* - Alter Master adding columns at middle of table *
1420
* Expect: columns added *
1421
****************************************************
1424
*** Create t14 on slave ***
1427
CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1430
*** Create t14 on Master ***
1431
CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1433
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1440
*** Master Data Insert ***
1441
ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
1442
ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
1444
set @b1 = 'b1b1b1b1';
1445
set @b1 = concat(@b1,@b1);
1446
INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
1447
(2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
1448
(3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
1450
SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
1451
c1 c2 c3 hex(c4) c5 c6 c7
1452
1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1453
2 2.00 This Test Should work 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP
1454
3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP
1456
*** Select on Slave ****
1457
SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
1459
1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle
1460
2 2.00 This Test Should work 62316231623162316231623162316231 JOE
1461
3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA
1463
****************************************************
1464
* - Alter Master Dropping columns from the middle. *
1465
* Expect: columns dropped *
1466
****************************************************
1468
*** connect to master and drop columns ***
1469
ALTER TABLE t14 DROP COLUMN c2;
1470
ALTER TABLE t14 DROP COLUMN c7;
1472
*** Select from Master ***
1473
SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
1475
1 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1
1476
2 This Test Should work 62316231623162316231623162316231 JOE 1
1477
3 If is does not, I will open a bug 62316231623162316231623162316231 QA 1
1482
include/wait_for_slave_sql_error.inc [errno=1091]
1483
Last_SQL_Error = 'Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7''
1493
*************************************************
1494
* - Alter Master adding columns at end of table *
1495
* Expect: Error 1054 *
1496
*************************************************
1498
*** Create t15 on slave ***
1501
CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1504
*** Create t15 on Master ***
1505
CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1507
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1514
*** Master Data Insert ***
1515
ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
1516
set @b1 = 'b1b1b1b1';
1517
set @b1 = concat(@b1,@b1);
1518
INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
1519
(2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
1520
(3,@b1,'QA',DEFAULT,DEFAULT,3.00);
1521
SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
1522
c1 hex(c4) c5 c6 c7 c2
1523
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP 3.00
1524
2 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP 3.00
1525
3 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP 3.00
1527
********************************************
1528
*** Expect slave to fail with Error 1054 ***
1529
********************************************
1531
include/wait_for_slave_sql_error.inc [errno=1054]
1532
Last_SQL_Error = 'Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7''
1542
************************************************
1543
* - Create index on Master column not on slave *
1545
************************************************
1547
*** Create t16 on slave ***
1550
CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1553
*** Create t16 on Master ***
1554
CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1556
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1563
*** Master Create Index and Data Insert ***
1564
CREATE INDEX part_of_c6 ON t16 (c6);
1565
set @b1 = 'b1b1b1b1';
1566
set @b1 = concat(@b1,@b1);
1567
INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
1568
(2,@b1,'JOE',2,DEFAULT),
1569
(3,@b1,'QA',3,DEFAULT);
1570
SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
1572
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1573
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1574
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
1580
include/wait_for_slave_sql_error.inc [errno=1072]
1581
Last_SQL_Error = 'Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)''
1591
*****************************************************
1592
* - Delete rows using column on Master not on slave *
1593
* Expect: Rows Deleted *
1594
*****************************************************
1596
*** Create t17 on slave ***
1599
CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1602
*** Create t17 on Master ***
1603
CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1605
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1612
*** Master Data Insert ***
1613
set @b1 = 'b1b1b1b1';
1614
set @b1 = concat(@b1,@b1);
1615
INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
1616
(2,@b1,'JOE',2,DEFAULT),
1617
(3,@b1,'QA',3,DEFAULT);
1618
SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
1620
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1621
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1622
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
1624
** Select * from Slave **
1625
SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
1627
1 62316231623162316231623162316231 Kyle
1628
2 62316231623162316231623162316231 JOE
1629
3 62316231623162316231623162316231 QA
1631
** Delete from master **
1632
DELETE FROM t17 WHERE c6 = 3;
1633
SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
1635
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1636
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1639
SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
1641
1 62316231623162316231623162316231 Kyle
1642
2 62316231623162316231623162316231 JOE
1646
*****************************************************
1647
* - Update row using column on Master not on slave *
1648
* Expect: Rows updated *
1649
*****************************************************
1653
*** Create t18 on slave ***
1657
CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1660
*** Create t18 on Master ***
1661
CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1663
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1670
*** Master Data Insert ***
1671
set @b1 = 'b1b1b1b1';
1672
set @b1 = concat(@b1,@b1);
1673
INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
1674
(2,@b1,'JOE',2,DEFAULT),
1675
(3,@b1,'QA',3,DEFAULT);
1676
SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
1678
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1679
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1680
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
1682
** Select * from Slave **
1683
SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
1685
1 62316231623162316231623162316231 Kyle
1686
2 62316231623162316231623162316231 JOE
1687
3 62316231623162316231623162316231 QA
1689
** update from master **
1690
UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
1691
SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
1693
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1694
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1695
3 62316231623162316231623162316231 TEST 3 CURRENT_TIMESTAMP
1698
SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
1700
1 62316231623162316231623162316231 Kyle
1701
2 62316231623162316231623162316231 JOE
1702
3 62316231623162316231623162316231 TEST
1706
*****************************************************
1707
* - Insert UUID column on Master not on slave *
1708
* Expect: Rows inserted *
1709
*****************************************************
1711
*** Create t5 on slave ***
1714
CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1717
*** Create t5 on Master ***
1718
CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1720
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1727
*** Master Data Insert ***
1728
set @b1 = 'b1b1b1b1';
1729
INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
1730
(2,@b1,'JOE',UUID(),DEFAULT),
1731
(3,@b1,'QA',UUID(),DEFAULT);
1732
SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
1734
1 6231623162316231 Kyle UUID TIME
1735
2 6231623162316231 JOE UUID TIME
1736
3 6231623162316231 QA UUID TIME
1738
** Select * from Slave **
1739
SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
1741
1 6231623162316231 Kyle
1742
2 6231623162316231 JOE
1743
3 6231623162316231 QA
1745
set binlog_format=mixed;
1747
***********************************************************
1748
***********************************************************
1749
***************** Start of Testing ************************
1750
***********************************************************
1751
***********************************************************
1752
* This test format == binlog_format MIXED and engine == 'InnoDB'
1753
***********************************************************
1754
***********************************************************
1756
***** Testing more columns on the Master *****
1758
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
1760
f5 FLOAT DEFAULT '2.00',
1761
f6 CHAR(4) DEFAULT 'TEST',
1766
f11 VARBINARY(64))ENGINE='InnoDB';
1768
* Alter Table on Slave and drop columns f5 through f11 *
1770
alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
1772
* Insert data in Master then update and delete some rows*
1774
* Select count and 20 rows from Master *
1776
SELECT COUNT(*) FROM t1;
1780
SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
1781
hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
1782
f1 f2 f3 f4 f5 f6 f7 f8 f9 hex(f10) hex(f11)
1783
2 2 2 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1784
3 3 3 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1785
5 5 5 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1786
6 6 6 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1787
8 8 8 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1788
9 9 9 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1789
11 11 11 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1790
12 12 12 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1791
14 14 14 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1792
15 15 15 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1793
17 17 17 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1794
18 18 18 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1795
20 20 20 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1796
21 21 21 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1797
23 23 23 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1798
24 24 24 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1799
26 26 26 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1800
27 27 27 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1801
29 29 29 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1802
30 30 30 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
1804
* Select count and 20 rows from Slave *
1806
SELECT COUNT(*) FROM t1;
1810
SELECT * FROM t1 ORDER BY f3 LIMIT 20;
1832
include/check_slave_is_running.inc
1834
***** Testing Altering table def scenario *****
1836
CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
1838
f5 DOUBLE DEFAULT '2.00',
1839
f6 ENUM('a', 'b', 'c') default 'a',
1840
f7 DECIMAL(17,9) default '1000.00',
1842
f9 NUMERIC(6,4) default '2000.00',
1844
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
1845
f12 SET('a', 'b', 'c') default 'b')
1848
Warning 1264 Out of range value for column 'f9' at row 1
1850
CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
1852
f5 DOUBLE DEFAULT '2.00',
1853
f6 ENUM('a', 'b', 'c') default 'a',
1856
f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
1857
f12 SET('a', 'b', 'c') default 'b')
1860
CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
1862
f5 DOUBLE DEFAULT '2.00',
1863
f6 DECIMAL(17,9) default '1000.00',
1865
f8 NUMERIC(6,4) default '2000.00',
1867
f10 BINARY(20) not null default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
1871
Warning 1264 Out of range value for column 'f8' at row 1
1873
CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
1900
f30 ENUM ('a','b', 'c') default 'a',
1903
f33 SET ('a', 'b', 'c') default 'b',
1904
f34 VARBINARY(1025),
1908
** Alter tables on slave and drop columns **
1910
alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
1912
alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
1913
alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
1915
drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
1916
drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
1917
drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
1918
drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
1919
drop f33, drop f34, drop f35;
1921
** Insert Data into Master **
1922
INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
1924
INSERT into t2 values (2, 2, 2, 'second',
1925
2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
1928
3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
1931
Warning 1264 Out of range value for column 'f9' at row 1
1932
Warning 1264 Out of range value for column 'f9' at row 2
1933
INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
1934
INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
1936
INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
1937
INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
1938
f9=2.2, f10='seven samurai', f28=222.222, f35='222';
1940
Warning 1366 Incorrect integer value: 'seven samurai' for column 'f10' at row 1
1941
INSERT into t31 values (1, 1, 3, 'third',
1942
/* f5 BIGINT, */ 333333333333333333333333,
1943
/* f6 BLOB, */ '3333333333333333333333',
1944
/* f7 DATE, */ '2007-07-18',
1945
/* f8 DATETIME, */ "2007-07-18",
1946
/* f9 FLOAT, */ 3.33333333,
1947
/* f10 INT, */ 333333333,
1948
/* f11 LONGBLOB, */ '3333333333333333333',
1949
/* f12 LONGTEXT, */ '3333333333333333333',
1950
/* f13 MEDIUMBLOB, */ '3333333333333333333',
1951
/* f14 MEDIUMINT, */ 33,
1952
/* f15 MEDIUMTEXT, */ 3.3,
1953
/* f16 REAL, */ 3.3,
1954
/* f17 SMALLINT, */ 3,
1955
/* f18 TEXT, */ '33',
1956
/* f19 TIME, */ '2:59:58.999',
1957
/* f20 TIMESTAMP, */ 20000303000000,
1958
/* f21 TINYBLOB, */ '3333',
1959
/* f22 TINYINT, */ 3,
1960
/* f23 TINYTEXT, */ '3',
1961
/* f24 YEAR, */ 3000,
1962
/* f25 BINARY(255), */ 'three_33333',
1963
/* f26 BIT(64), */ b'011',
1964
/* f27 CHAR(255), */ 'three',
1965
/* f28 DECIMAL(30,7), */ 3.333,
1966
/* f29 DOUBLE, */ 3.333333333333333333333333333,
1967
/* f30 ENUM ('a','b','c')*/ 'c',
1968
/* f31 FLOAT, */ 3.0,
1969
/* f32 NUMERIC(17,9), */ 3.3333,
1970
/* f33 SET ('a','b','c'),*/ 'c',
1971
/*f34 VARBINARY(1025),*/ '3333 minus 3',
1972
/*f35 VARCHAR(257),*/ 'three times three'
1975
Warning 1264 Out of range value for column 'f5' at row 1
1976
Warning 1264 Out of range value for column 'f24' at row 1
1977
INSERT into t31 values (1, 1, 4, 'fourth',
1978
/* f5 BIGINT, */ 333333333333333333333333,
1979
/* f6 BLOB, */ '3333333333333333333333',
1980
/* f7 DATE, */ '2007-07-18',
1981
/* f8 DATETIME, */ "2007-07-18",
1982
/* f9 FLOAT, */ 3.33333333,
1983
/* f10 INT, */ 333333333,
1984
/* f11 LONGBLOB, */ '3333333333333333333',
1985
/* f12 LONGTEXT, */ '3333333333333333333',
1986
/* f13 MEDIUMBLOB, */ '3333333333333333333',
1987
/* f14 MEDIUMINT, */ 33,
1988
/* f15 MEDIUMTEXT, */ 3.3,
1989
/* f16 REAL, */ 3.3,
1990
/* f17 SMALLINT, */ 3,
1991
/* f18 TEXT, */ '33',
1992
/* f19 TIME, */ '2:59:58.999',
1993
/* f20 TIMESTAMP, */ 20000303000000,
1994
/* f21 TINYBLOB, */ '3333',
1995
/* f22 TINYINT, */ 3,
1996
/* f23 TINYTEXT, */ '3',
1997
/* f24 YEAR, */ 3000,
1998
/* f25 BINARY(255), */ 'three_33333',
1999
/* f26 BIT(64), */ b'011',
2000
/* f27 CHAR(255), */ 'three',
2001
/* f28 DECIMAL(30,7), */ 3.333,
2002
/* f29 DOUBLE, */ 3.333333333333333333333333333,
2003
/* f30 ENUM ('a','b','c')*/ 'c',
2004
/* f31 FLOAT, */ 3.0,
2005
/* f32 NUMERIC(17,9), */ 3.3333,
2006
/* f33 SET ('a','b','c'),*/ 'c',
2007
/*f34 VARBINARY(1025),*/ '3333 minus 3',
2008
/*f35 VARCHAR(257),*/ 'three times three'
2011
/* f5 BIGINT, */ 333333333333333333333333,
2012
/* f6 BLOB, */ '3333333333333333333333',
2013
/* f7 DATE, */ '2007-07-18',
2014
/* f8 DATETIME, */ "2007-07-18",
2015
/* f9 FLOAT, */ 3.33333333,
2016
/* f10 INT, */ 333333333,
2017
/* f11 LONGBLOB, */ '3333333333333333333',
2018
/* f12 LONGTEXT, */ '3333333333333333333',
2019
/* f13 MEDIUMBLOB, */ '3333333333333333333',
2020
/* f14 MEDIUMINT, */ 33,
2021
/* f15 MEDIUMTEXT, */ 3.3,
2022
/* f16 REAL, */ 3.3,
2023
/* f17 SMALLINT, */ 3,
2024
/* f18 TEXT, */ '33',
2025
/* f19 TIME, */ '2:59:58.999',
2026
/* f20 TIMESTAMP, */ 20000303000000,
2027
/* f21 TINYBLOB, */ '3333',
2028
/* f22 TINYINT, */ 3,
2029
/* f23 TINYTEXT, */ '3',
2030
/* f24 YEAR, */ 3000,
2031
/* f25 BINARY(255), */ 'three_33333',
2032
/* f26 BIT(64), */ b'011',
2033
/* f27 CHAR(255), */ 'three',
2034
/* f28 DECIMAL(30,7), */ 3.333,
2035
/* f29 DOUBLE, */ 3.333333333333333333333333333,
2036
/* f30 ENUM ('a','b','c')*/ 'c',
2037
/* f31 FLOAT, */ 3.0,
2038
/* f32 NUMERIC(17,9), */ 3.3333,
2039
/* f33 SET ('a','b','c'),*/ 'c',
2040
/*f34 VARBINARY(1025),*/ '3333 minus 3',
2041
/*f35 VARCHAR(257),*/ 'three times three'
2044
/* f5 BIGINT, */ NULL,
2045
/* f6 BLOB, */ '3333333333333333333333',
2046
/* f7 DATE, */ '2007-07-18',
2047
/* f8 DATETIME, */ "2007-07-18",
2048
/* f9 FLOAT, */ 3.33333333,
2049
/* f10 INT, */ 333333333,
2050
/* f11 LONGBLOB, */ '3333333333333333333',
2051
/* f12 LONGTEXT, */ '3333333333333333333',
2052
/* f13 MEDIUMBLOB, */ '3333333333333333333',
2053
/* f14 MEDIUMINT, */ 33,
2054
/* f15 MEDIUMTEXT, */ 3.3,
2055
/* f16 REAL, */ 3.3,
2056
/* f17 SMALLINT, */ 3,
2057
/* f18 TEXT, */ '33',
2058
/* f19 TIME, */ '2:59:58.999',
2059
/* f20 TIMESTAMP, */ 20000303000000,
2060
/* f21 TINYBLOB, */ '3333',
2061
/* f22 TINYINT, */ 3,
2062
/* f23 TINYTEXT, */ '3',
2063
/* f24 YEAR, */ 3000,
2064
/* f25 BINARY(255), */ 'three_33333',
2065
/* f26 BIT(64), */ b'011',
2066
/* f27 CHAR(255), */ 'three',
2067
/* f28 DECIMAL(30,7), */ 3.333,
2068
/* f29 DOUBLE, */ 3.333333333333333333333333333,
2069
/* f30 ENUM ('a','b','c')*/ 'c',
2070
/* f31 FLOAT, */ 3.0,
2071
/* f32 NUMERIC(17,9), */ 3.3333,
2072
/* f33 SET ('a','b','c'),*/ 'c',
2073
/*f34 VARBINARY(1025),*/ '3333 minus 3',
2074
/*f35 VARCHAR(257),*/ NULL
2077
Warning 1264 Out of range value for column 'f5' at row 1
2078
Warning 1264 Out of range value for column 'f24' at row 1
2079
Warning 1264 Out of range value for column 'f5' at row 2
2080
Warning 1264 Out of range value for column 'f24' at row 2
2081
Warning 1264 Out of range value for column 'f24' at row 3
2083
** Sync slave with master **
2084
** Do selects from tables **
2086
select * from t1 order by f3;
2128
select * from t2 order by f1;
2133
select * from t3 order by f1;
2136
select * from t4 order by f1;
2139
select * from t31 order by f3;
2148
** Do updates master **
2150
update t31 set f5=555555555555555 where f3=6;
2151
update t31 set f2=2 where f3=2;
2152
update t31 set f1=NULL where f3=1;
2153
update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
2155
Warning 1048 Column 'f3' cannot be null
2157
** Delete from Master **
2167
** Check slave status **
2169
include/check_slave_is_running.inc
2171
****************************************
2172
* columns in master at middle of table *
2173
* Expect: Proper error message *
2174
****************************************
2176
** Stop and Reset Slave **
2181
** create table slave side **
2182
CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
2185
** Connect to master and create table **
2187
CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
2188
c CHAR(5), e INT DEFAULT '1')ENGINE='InnoDB';
2194
*** Master Data Insert ***
2195
set @b1 = 'b1b1b1b1';
2196
set @b1 = concat(@b1,@b1);
2197
INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
2198
(2,@b1,DEFAULT,'JOE',DEFAULT),
2199
(3,@b1,DEFAULT,'QA',DEFAULT);
2201
********************************************
2202
*** Expect slave to fail with Error 1535 ***
2203
********************************************
2205
include/wait_for_slave_sql_error_and_skip.inc [errno=1535]
2206
Last_SQL_Error = 'Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254'
2211
*********************************************
2212
* More columns in master at middle of table *
2213
* Expect: Proper error message *
2214
*********************************************
2216
*** Create t11 on slave ***
2219
CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
2222
*** Create t11 on Master ***
2223
CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
2224
c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
2230
*** Master Data Insert ***
2231
set @b1 = 'b1b1b1b1';
2232
set @b1 = concat(@b1,@b1);
2233
INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
2234
(2,@b1,'Testing is cool','JOE',DEFAULT),
2235
(3,@b1,DEFAULT,'QA',DEFAULT);
2237
********************************************
2238
*** Expect slave to fail with Error 1535 ***
2239
********************************************
2241
include/wait_for_slave_sql_error_and_skip.inc [errno=1535]
2242
Last_SQL_Error = 'Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15'
2247
*********************************************
2248
* More columns in master at middle of table *
2249
* Expect: This one should pass blob-text *
2250
*********************************************
2252
*** Create t12 on slave ***
2255
CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
2258
*** Create t12 on Master ***
2259
CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
2260
c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
2266
*** Master Data Insert ***
2267
set @b1 = 'b1b1b1b1';
2268
set @b1 = concat(@b1,@b1);
2269
INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
2270
(2,@b1,'JOE',DEFAULT,DEFAULT),
2271
(3,@b1,'QA',DEFAULT,DEFAULT);
2273
SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
2275
1 62316231623162316231623162316231 Kyle test 1
2276
2 62316231623162316231623162316231 JOE test 1
2277
3 62316231623162316231623162316231 QA test 1
2279
*** Select on Slave ***
2280
SELECT a,hex(b),c FROM t12 ORDER BY a;
2282
1 62316231623162316231623162316231 Kyle
2283
2 62316231623162316231623162316231 JOE
2284
3 62316231623162316231623162316231 QA
2289
****************************************************
2290
* - Alter Master adding columns at middle of table *
2291
* Expect: columns added *
2292
****************************************************
2295
*** Create t14 on slave ***
2298
CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
2301
*** Create t14 on Master ***
2302
CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
2304
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
2311
*** Master Data Insert ***
2312
ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
2313
ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
2315
set @b1 = 'b1b1b1b1';
2316
set @b1 = concat(@b1,@b1);
2317
INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
2318
(2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
2319
(3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
2321
SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
2322
c1 c2 c3 hex(c4) c5 c6 c7
2323
1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
2324
2 2.00 This Test Should work 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP
2325
3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP
2327
*** Select on Slave ****
2328
SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
2330
1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle
2331
2 2.00 This Test Should work 62316231623162316231623162316231 JOE
2332
3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA
2334
****************************************************
2335
* - Alter Master Dropping columns from the middle. *
2336
* Expect: columns dropped *
2337
****************************************************
2339
*** connect to master and drop columns ***
2340
ALTER TABLE t14 DROP COLUMN c2;
2341
ALTER TABLE t14 DROP COLUMN c7;
2343
*** Select from Master ***
2344
SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
2346
1 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1
2347
2 This Test Should work 62316231623162316231623162316231 JOE 1
2348
3 If is does not, I will open a bug 62316231623162316231623162316231 QA 1
2353
include/wait_for_slave_sql_error.inc [errno=1091]
2354
Last_SQL_Error = 'Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7''
2364
*************************************************
2365
* - Alter Master adding columns at end of table *
2366
* Expect: Error 1054 *
2367
*************************************************
2369
*** Create t15 on slave ***
2372
CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
2375
*** Create t15 on Master ***
2376
CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
2378
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
2385
*** Master Data Insert ***
2386
ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
2387
set @b1 = 'b1b1b1b1';
2388
set @b1 = concat(@b1,@b1);
2389
INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
2390
(2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
2391
(3,@b1,'QA',DEFAULT,DEFAULT,3.00);
2392
SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
2393
c1 hex(c4) c5 c6 c7 c2
2394
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP 3.00
2395
2 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP 3.00
2396
3 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP 3.00
2398
********************************************
2399
*** Expect slave to fail with Error 1054 ***
2400
********************************************
2402
include/wait_for_slave_sql_error.inc [errno=1054]
2403
Last_SQL_Error = 'Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7''
2413
************************************************
2414
* - Create index on Master column not on slave *
2416
************************************************
2418
*** Create t16 on slave ***
2421
CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
2424
*** Create t16 on Master ***
2425
CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
2427
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
2434
*** Master Create Index and Data Insert ***
2435
CREATE INDEX part_of_c6 ON t16 (c6);
2436
set @b1 = 'b1b1b1b1';
2437
set @b1 = concat(@b1,@b1);
2438
INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
2439
(2,@b1,'JOE',2,DEFAULT),
2440
(3,@b1,'QA',3,DEFAULT);
2441
SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
2443
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
2444
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
2445
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
2451
include/wait_for_slave_sql_error.inc [errno=1072]
2452
Last_SQL_Error = 'Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)''
2462
*****************************************************
2463
* - Delete rows using column on Master not on slave *
2464
* Expect: Rows Deleted *
2465
*****************************************************
2467
*** Create t17 on slave ***
2470
CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
2473
*** Create t17 on Master ***
2474
CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
2476
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
2483
*** Master Data Insert ***
2484
set @b1 = 'b1b1b1b1';
2485
set @b1 = concat(@b1,@b1);
2486
INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
2487
(2,@b1,'JOE',2,DEFAULT),
2488
(3,@b1,'QA',3,DEFAULT);
2489
SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
2491
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
2492
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
2493
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
2495
** Select * from Slave **
2496
SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
2498
1 62316231623162316231623162316231 Kyle
2499
2 62316231623162316231623162316231 JOE
2500
3 62316231623162316231623162316231 QA
2502
** Delete from master **
2503
DELETE FROM t17 WHERE c6 = 3;
2504
SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
2506
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
2507
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
2510
SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
2512
1 62316231623162316231623162316231 Kyle
2513
2 62316231623162316231623162316231 JOE
2517
*****************************************************
2518
* - Update row using column on Master not on slave *
2519
* Expect: Rows updated *
2520
*****************************************************
2524
*** Create t18 on slave ***
2528
CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
2531
*** Create t18 on Master ***
2532
CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
2534
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
2541
*** Master Data Insert ***
2542
set @b1 = 'b1b1b1b1';
2543
set @b1 = concat(@b1,@b1);
2544
INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
2545
(2,@b1,'JOE',2,DEFAULT),
2546
(3,@b1,'QA',3,DEFAULT);
2547
SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
2549
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
2550
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
2551
3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
2553
** Select * from Slave **
2554
SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
2556
1 62316231623162316231623162316231 Kyle
2557
2 62316231623162316231623162316231 JOE
2558
3 62316231623162316231623162316231 QA
2560
** update from master **
2561
UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
2562
SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
2564
1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
2565
2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
2566
3 62316231623162316231623162316231 TEST 3 CURRENT_TIMESTAMP
2569
SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
2571
1 62316231623162316231623162316231 Kyle
2572
2 62316231623162316231623162316231 JOE
2573
3 62316231623162316231623162316231 TEST
2577
*****************************************************
2578
* - Insert UUID column on Master not on slave *
2579
* Expect: Rows inserted *
2580
*****************************************************
2582
*** Create t5 on slave ***
2585
CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
2588
*** Create t5 on Master ***
2589
CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
2591
c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
2598
*** Master Data Insert ***
2599
set @b1 = 'b1b1b1b1';
2600
INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
2601
(2,@b1,'JOE',UUID(),DEFAULT),
2602
(3,@b1,'QA',UUID(),DEFAULT);
2603
SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
2605
1 6231623162316231 Kyle UUID TIME
2606
2 6231623162316231 JOE UUID TIME
2607
3 6231623162316231 QA UUID TIME
2609
** Select * from Slave **
2610
SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
2612
1 6231623162316231 Kyle
2613
2 6231623162316231 JOE
2614
3 6231623162316231 QA