2 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
5 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
9 ***********************************************************
10 ***********************************************************
11 ***************** Start of Testing ************************
12 ***********************************************************
13 ***********************************************************
14 * This test format == binlog_format ROW and engine == 'NDB'
15 ***********************************************************
16 ***********************************************************
18 ***** Testing more columns on the Master *****
20 CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
22 f5 FLOAT DEFAULT '2.00',
23 f6 CHAR(4) DEFAULT 'TEST',
28 f11 VARBINARY(64))ENGINE='NDB';
30 * Alter Table on Slave and drop columns f5 through f11 *
32 alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
34 * Insert data in Master then update and delete some rows*
36 * Select count and 20 rows from Master *
38 SELECT COUNT(*) FROM t1;
42 SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
43 hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
44 f1 f2 f3 f4 f5 f6 f7 f8 f9 hex(f10) hex(f11)
45 2 2 2 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
46 3 3 3 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
47 5 5 5 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
48 6 6 6 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
49 8 8 8 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
50 9 9 9 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
51 11 11 11 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
52 12 12 12 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
53 14 14 14 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
54 15 15 15 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
55 17 17 17 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
56 18 18 18 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
57 20 20 20 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
58 21 21 21 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
59 23 23 23 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
60 24 24 24 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
61 26 26 26 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
62 27 27 27 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
63 29 29 29 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
64 30 30 30 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
66 * Select count and 20 rows from Slave *
68 SELECT COUNT(*) FROM t1;
72 SELECT * FROM t1 ORDER BY f3 LIMIT 20;
94 Checking that both slave threads are running.
96 ***** Testing Altering table def scenario *****
98 CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
100 f5 DOUBLE DEFAULT '2.00',
101 f6 ENUM('a', 'b', 'c') default 'a',
102 f7 DECIMAL(17,9) default '1000.00',
104 f9 NUMERIC(6,4) default '2000.00',
106 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',
107 f12 SET('a', 'b', 'c') default 'b')
110 Warning 1264 Out of range value for column 'f9' at row 1
112 CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
114 f5 DOUBLE DEFAULT '2.00',
115 f6 ENUM('a', 'b', 'c') default 'a',
118 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',
119 f12 SET('a', 'b', 'c') default 'b')
122 CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
124 f5 DOUBLE DEFAULT '2.00',
125 f6 DECIMAL(17,9) default '1000.00',
127 f8 NUMERIC(6,4) default '2000.00',
129 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',
133 Warning 1264 Out of range value for column 'f8' at row 1
135 CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
162 f30 ENUM ('a','b', 'c') default 'a',
165 f33 SET ('a', 'b', 'c') default 'b',
170 ** Alter tables on slave and drop columns **
172 alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
174 alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
175 alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
177 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
178 drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
179 drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
180 drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
181 drop f33, drop f34, drop f35;
183 ** Insert Data into Master **
184 INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
186 INSERT into t2 values (2, 2, 2, 'second',
187 2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
190 3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
193 Warning 1264 Out of range value for column 'f9' at row 1
194 Warning 1264 Out of range value for column 'f9' at row 2
195 INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
196 INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
198 INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
199 INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
200 f9=2.2, f10='seven samurai', f28=222.222, f35='222';
202 Warning 1366 Incorrect integer value: 'seven samurai' for column 'f10' at row 1
203 INSERT into t31 values (1, 1, 3, 'third',
204 /* f5 BIGINT, */ 333333333333333333333333,
205 /* f6 BLOB, */ '3333333333333333333333',
206 /* f7 DATE, */ '2007-07-18',
207 /* f8 DATETIME, */ "2007-07-18",
208 /* f9 FLOAT, */ 3.33333333,
209 /* f10 INT, */ 333333333,
210 /* f11 LONGBLOB, */ '3333333333333333333',
211 /* f12 LONGTEXT, */ '3333333333333333333',
212 /* f13 MEDIUMBLOB, */ '3333333333333333333',
213 /* f14 MEDIUMINT, */ 33,
214 /* f15 MEDIUMTEXT, */ 3.3,
216 /* f17 SMALLINT, */ 3,
217 /* f18 TEXT, */ '33',
218 /* f19 TIME, */ '2:59:58.999',
219 /* f20 TIMESTAMP, */ 20000303000000,
220 /* f21 TINYBLOB, */ '3333',
221 /* f22 TINYINT, */ 3,
222 /* f23 TINYTEXT, */ '3',
223 /* f24 YEAR, */ 3000,
224 /* f25 BINARY(255), */ 'three_33333',
225 /* f26 BIT(64), */ b'011',
226 /* f27 CHAR(255), */ 'three',
227 /* f28 DECIMAL(30,7), */ 3.333,
228 /* f29 DOUBLE, */ 3.333333333333333333333333333,
229 /* f30 ENUM ('a','b','c')*/ 'c',
230 /* f31 FLOAT, */ 3.0,
231 /* f32 NUMERIC(17,9), */ 3.3333,
232 /* f33 SET ('a','b','c'),*/ 'c',
233 /*f34 VARBINARY(1025),*/ '3333 minus 3',
234 /*f35 VARCHAR(257),*/ 'three times three'
237 Warning 1264 Out of range value for column 'f5' at row 1
238 Warning 1264 Out of range value for column 'f24' at row 1
239 INSERT into t31 values (1, 1, 4, 'fourth',
240 /* f5 BIGINT, */ 333333333333333333333333,
241 /* f6 BLOB, */ '3333333333333333333333',
242 /* f7 DATE, */ '2007-07-18',
243 /* f8 DATETIME, */ "2007-07-18",
244 /* f9 FLOAT, */ 3.33333333,
245 /* f10 INT, */ 333333333,
246 /* f11 LONGBLOB, */ '3333333333333333333',
247 /* f12 LONGTEXT, */ '3333333333333333333',
248 /* f13 MEDIUMBLOB, */ '3333333333333333333',
249 /* f14 MEDIUMINT, */ 33,
250 /* f15 MEDIUMTEXT, */ 3.3,
252 /* f17 SMALLINT, */ 3,
253 /* f18 TEXT, */ '33',
254 /* f19 TIME, */ '2:59:58.999',
255 /* f20 TIMESTAMP, */ 20000303000000,
256 /* f21 TINYBLOB, */ '3333',
257 /* f22 TINYINT, */ 3,
258 /* f23 TINYTEXT, */ '3',
259 /* f24 YEAR, */ 3000,
260 /* f25 BINARY(255), */ 'three_33333',
261 /* f26 BIT(64), */ b'011',
262 /* f27 CHAR(255), */ 'three',
263 /* f28 DECIMAL(30,7), */ 3.333,
264 /* f29 DOUBLE, */ 3.333333333333333333333333333,
265 /* f30 ENUM ('a','b','c')*/ 'c',
266 /* f31 FLOAT, */ 3.0,
267 /* f32 NUMERIC(17,9), */ 3.3333,
268 /* f33 SET ('a','b','c'),*/ 'c',
269 /*f34 VARBINARY(1025),*/ '3333 minus 3',
270 /*f35 VARCHAR(257),*/ 'three times three'
273 /* f5 BIGINT, */ 333333333333333333333333,
274 /* f6 BLOB, */ '3333333333333333333333',
275 /* f7 DATE, */ '2007-07-18',
276 /* f8 DATETIME, */ "2007-07-18",
277 /* f9 FLOAT, */ 3.33333333,
278 /* f10 INT, */ 333333333,
279 /* f11 LONGBLOB, */ '3333333333333333333',
280 /* f12 LONGTEXT, */ '3333333333333333333',
281 /* f13 MEDIUMBLOB, */ '3333333333333333333',
282 /* f14 MEDIUMINT, */ 33,
283 /* f15 MEDIUMTEXT, */ 3.3,
285 /* f17 SMALLINT, */ 3,
286 /* f18 TEXT, */ '33',
287 /* f19 TIME, */ '2:59:58.999',
288 /* f20 TIMESTAMP, */ 20000303000000,
289 /* f21 TINYBLOB, */ '3333',
290 /* f22 TINYINT, */ 3,
291 /* f23 TINYTEXT, */ '3',
292 /* f24 YEAR, */ 3000,
293 /* f25 BINARY(255), */ 'three_33333',
294 /* f26 BIT(64), */ b'011',
295 /* f27 CHAR(255), */ 'three',
296 /* f28 DECIMAL(30,7), */ 3.333,
297 /* f29 DOUBLE, */ 3.333333333333333333333333333,
298 /* f30 ENUM ('a','b','c')*/ 'c',
299 /* f31 FLOAT, */ 3.0,
300 /* f32 NUMERIC(17,9), */ 3.3333,
301 /* f33 SET ('a','b','c'),*/ 'c',
302 /*f34 VARBINARY(1025),*/ '3333 minus 3',
303 /*f35 VARCHAR(257),*/ 'three times three'
306 /* f5 BIGINT, */ NULL,
307 /* f6 BLOB, */ '3333333333333333333333',
308 /* f7 DATE, */ '2007-07-18',
309 /* f8 DATETIME, */ "2007-07-18",
310 /* f9 FLOAT, */ 3.33333333,
311 /* f10 INT, */ 333333333,
312 /* f11 LONGBLOB, */ '3333333333333333333',
313 /* f12 LONGTEXT, */ '3333333333333333333',
314 /* f13 MEDIUMBLOB, */ '3333333333333333333',
315 /* f14 MEDIUMINT, */ 33,
316 /* f15 MEDIUMTEXT, */ 3.3,
318 /* f17 SMALLINT, */ 3,
319 /* f18 TEXT, */ '33',
320 /* f19 TIME, */ '2:59:58.999',
321 /* f20 TIMESTAMP, */ 20000303000000,
322 /* f21 TINYBLOB, */ '3333',
323 /* f22 TINYINT, */ 3,
324 /* f23 TINYTEXT, */ '3',
325 /* f24 YEAR, */ 3000,
326 /* f25 BINARY(255), */ 'three_33333',
327 /* f26 BIT(64), */ b'011',
328 /* f27 CHAR(255), */ 'three',
329 /* f28 DECIMAL(30,7), */ 3.333,
330 /* f29 DOUBLE, */ 3.333333333333333333333333333,
331 /* f30 ENUM ('a','b','c')*/ 'c',
332 /* f31 FLOAT, */ 3.0,
333 /* f32 NUMERIC(17,9), */ 3.3333,
334 /* f33 SET ('a','b','c'),*/ 'c',
335 /*f34 VARBINARY(1025),*/ '3333 minus 3',
336 /*f35 VARCHAR(257),*/ NULL
339 Warning 1264 Out of range value for column 'f5' at row 1
340 Warning 1264 Out of range value for column 'f24' at row 1
341 Warning 1264 Out of range value for column 'f5' at row 2
342 Warning 1264 Out of range value for column 'f24' at row 2
343 Warning 1264 Out of range value for column 'f24' at row 3
345 ** Sync slave with master **
346 ** Do selects from tables **
348 select * from t1 order by f3;
390 select * from t2 order by f1;
395 select * from t3 order by f1;
398 select * from t4 order by f1;
401 select * from t31 order by f3;
410 ** Do updates master **
412 update t31 set f5=555555555555555 where f3=6;
413 update t31 set f2=2 where f3=2;
414 update t31 set f1=NULL where f3=1;
415 update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
417 Warning 1048 Column 'f3' cannot be null
419 ** Delete from Master **
429 ** Check slave status **
431 Checking that both slave threads are running.
433 ****************************************
434 * columns in master at middle of table *
435 * Expect: Proper error message *
436 ****************************************
438 ** Stop and Reset Slave **
443 ** create table slave side **
444 CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
447 ** Connect to master and create table **
449 CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
450 c CHAR(5), e INT DEFAULT '1')ENGINE='NDB';
456 *** Master Data Insert ***
457 set @b1 = 'b1b1b1b1';
458 set @b1 = concat(@b1,@b1);
459 INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
460 (2,@b1,DEFAULT,'JOE',DEFAULT),
461 (3,@b1,DEFAULT,'QA',DEFAULT);
463 ********************************************
464 *** Expect slave to fail with Error 1535 ***
465 ********************************************
467 --source include/wait_for_slave_sql_error_and_skip.inc
468 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 SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
470 include/start_slave.inc
475 *********************************************
476 * More columns in master at middle of table *
477 * Expect: Proper error message *
478 *********************************************
480 *** Create t11 on slave ***
483 CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
486 *** Create t11 on Master ***
487 CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
488 c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
494 *** Master Data Insert ***
495 set @b1 = 'b1b1b1b1';
496 set @b1 = concat(@b1,@b1);
497 INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
498 (2,@b1,'Testing is cool','JOE',DEFAULT),
499 (3,@b1,DEFAULT,'QA',DEFAULT);
501 ********************************************
502 *** Expect slave to fail with Error 1535 ***
503 ********************************************
505 --source include/wait_for_slave_sql_error_and_skip.inc
506 Last_SQL_Error = Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
507 SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
508 include/start_slave.inc
513 *********************************************
514 * More columns in master at middle of table *
515 * Expect: This one should pass blob-text *
516 *********************************************
518 *** Create t12 on slave ***
521 CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
524 *** Create t12 on Master ***
525 CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
526 c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
532 *** Master Data Insert ***
533 set @b1 = 'b1b1b1b1';
534 set @b1 = concat(@b1,@b1);
535 INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
536 (2,@b1,'JOE',DEFAULT,DEFAULT),
537 (3,@b1,'QA',DEFAULT,DEFAULT);
539 SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
541 1 62316231623162316231623162316231 Kyle test 1
542 2 62316231623162316231623162316231 JOE test 1
543 3 62316231623162316231623162316231 QA test 1
545 *** Select on Slave ***
546 SELECT a,hex(b),c FROM t12 ORDER BY a;
548 1 62316231623162316231623162316231 Kyle
549 2 62316231623162316231623162316231 JOE
550 3 62316231623162316231623162316231 QA
555 ****************************************************
556 * - Alter Master adding columns at middle of table *
557 * Expect: columns added *
558 ****************************************************
561 *** Create t14 on slave ***
564 CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
567 *** Create t14 on Master ***
568 CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
570 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
577 *** Master Data Insert ***
578 ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
579 ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
581 set @b1 = 'b1b1b1b1';
582 set @b1 = concat(@b1,@b1);
583 INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
584 (2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
585 (3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
587 SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
588 c1 c2 c3 hex(c4) c5 c6 c7
589 1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
590 2 2.00 This Test Should work 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP
591 3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP
593 *** Select on Slave ****
594 SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
596 1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle
597 2 2.00 This Test Should work 62316231623162316231623162316231 JOE
598 3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA
600 ****************************************************
601 * - Alter Master Dropping columns from the middle. *
602 * Expect: columns dropped *
603 ****************************************************
605 *** connect to master and drop columns ***
606 ALTER TABLE t14 DROP COLUMN c2;
607 ALTER TABLE t14 DROP COLUMN c7;
609 *** Select from Master ***
610 SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
612 1 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1
613 2 This Test Should work 62316231623162316231623162316231 JOE 1
614 3 If is does not, I will open a bug 62316231623162316231623162316231 QA 1
619 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'
629 *************************************************
630 * - Alter Master adding columns at end of table *
631 * Expect: Error 1054 *
632 *************************************************
634 *** Create t15 on slave ***
637 CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
640 *** Create t15 on Master ***
641 CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
643 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
650 *** Master Data Insert ***
651 ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
652 set @b1 = 'b1b1b1b1';
653 set @b1 = concat(@b1,@b1);
654 INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
655 (2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
656 (3,@b1,'QA',DEFAULT,DEFAULT,3.00);
657 SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
658 c1 hex(c4) c5 c6 c7 c2
659 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP 3.00
660 2 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP 3.00
661 3 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP 3.00
663 ********************************************
664 *** Expect slave to fail with Error 1054 ***
665 ********************************************
667 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'
677 ************************************************
678 * - Create index on Master column not on slave *
680 ************************************************
682 *** Create t16 on slave ***
685 CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
688 *** Create t16 on Master ***
689 CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
691 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
698 *** Master Create Index and Data Insert ***
699 CREATE INDEX part_of_c6 ON t16 (c6);
700 set @b1 = 'b1b1b1b1';
701 set @b1 = concat(@b1,@b1);
702 INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
703 (2,@b1,'JOE',2,DEFAULT),
704 (3,@b1,'QA',3,DEFAULT);
705 SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
707 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
708 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
709 3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
715 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)'
725 *****************************************************
726 * - Delete rows using column on Master not on slave *
727 * Expect: Rows Deleted *
728 *****************************************************
730 *** Create t17 on slave ***
733 CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
736 *** Create t17 on Master ***
737 CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
739 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
746 *** Master Data Insert ***
747 set @b1 = 'b1b1b1b1';
748 set @b1 = concat(@b1,@b1);
749 INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
750 (2,@b1,'JOE',2,DEFAULT),
751 (3,@b1,'QA',3,DEFAULT);
752 SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
754 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
755 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
756 3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
758 ** Select * from Slave **
759 SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
761 1 62316231623162316231623162316231 Kyle
762 2 62316231623162316231623162316231 JOE
763 3 62316231623162316231623162316231 QA
765 ** Delete from master **
766 DELETE FROM t17 WHERE c6 = 3;
767 SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
769 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
770 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
773 SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
775 1 62316231623162316231623162316231 Kyle
776 2 62316231623162316231623162316231 JOE
780 *****************************************************
781 * - Update row using column on Master not on slave *
782 * Expect: Rows updated *
783 *****************************************************
787 *** Create t18 on slave ***
791 CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
794 *** Create t18 on Master ***
795 CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
797 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
804 *** Master Data Insert ***
805 set @b1 = 'b1b1b1b1';
806 set @b1 = concat(@b1,@b1);
807 INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
808 (2,@b1,'JOE',2,DEFAULT),
809 (3,@b1,'QA',3,DEFAULT);
810 SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
812 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
813 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
814 3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
816 ** Select * from Slave **
817 SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
819 1 62316231623162316231623162316231 Kyle
820 2 62316231623162316231623162316231 JOE
821 3 62316231623162316231623162316231 QA
823 ** update from master **
824 UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
825 SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
827 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
828 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
829 3 62316231623162316231623162316231 TEST 3 CURRENT_TIMESTAMP
832 SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
834 1 62316231623162316231623162316231 Kyle
835 2 62316231623162316231623162316231 JOE
836 3 62316231623162316231623162316231 TEST
840 *****************************************************
841 * - Insert UUID column on Master not on slave *
842 * Expect: Rows inserted *
843 *****************************************************
845 *** Create t5 on slave ***
848 CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
851 *** Create t5 on Master ***
852 CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
854 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
861 *** Master Data Insert ***
862 set @b1 = 'b1b1b1b1';
863 INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
864 (2,@b1,'JOE',UUID(),DEFAULT),
865 (3,@b1,'QA',UUID(),DEFAULT);
866 SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
868 1 6231623162316231 Kyle UUID TIME
869 2 6231623162316231 JOE UUID TIME
870 3 6231623162316231 QA UUID TIME
872 ** Select * from Slave **
873 SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
875 1 6231623162316231 Kyle
876 2 6231623162316231 JOE
877 3 6231623162316231 QA
880 set binlog_format=mixed;
882 ***********************************************************
883 ***********************************************************
884 ***************** Start of Testing ************************
885 ***********************************************************
886 ***********************************************************
887 * This test format == binlog_format MIXED and engine == 'NDB'
888 ***********************************************************
889 ***********************************************************
891 ***** Testing more columns on the Master *****
893 CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
895 f5 FLOAT DEFAULT '2.00',
896 f6 CHAR(4) DEFAULT 'TEST',
901 f11 VARBINARY(64))ENGINE='NDB';
903 * Alter Table on Slave and drop columns f5 through f11 *
905 alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
907 * Insert data in Master then update and delete some rows*
909 * Select count and 20 rows from Master *
911 SELECT COUNT(*) FROM t1;
915 SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
916 hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
917 f1 f2 f3 f4 f5 f6 f7 f8 f9 hex(f10) hex(f11)
918 2 2 2 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
919 3 3 3 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
920 5 5 5 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
921 6 6 6 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
922 8 8 8 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
923 9 9 9 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
924 11 11 11 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
925 12 12 12 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
926 14 14 14 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
927 15 15 15 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
928 17 17 17 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
929 18 18 18 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
930 20 20 20 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
931 21 21 21 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
932 23 23 23 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
933 24 24 24 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
934 26 26 26 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
935 27 27 27 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
936 29 29 29 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
937 30 30 30 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
939 * Select count and 20 rows from Slave *
941 SELECT COUNT(*) FROM t1;
945 SELECT * FROM t1 ORDER BY f3 LIMIT 20;
967 Checking that both slave threads are running.
969 ***** Testing Altering table def scenario *****
971 CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
973 f5 DOUBLE DEFAULT '2.00',
974 f6 ENUM('a', 'b', 'c') default 'a',
975 f7 DECIMAL(17,9) default '1000.00',
977 f9 NUMERIC(6,4) default '2000.00',
979 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',
980 f12 SET('a', 'b', 'c') default 'b')
983 Warning 1264 Out of range value for column 'f9' at row 1
985 CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
987 f5 DOUBLE DEFAULT '2.00',
988 f6 ENUM('a', 'b', 'c') default 'a',
991 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',
992 f12 SET('a', 'b', 'c') default 'b')
995 CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
997 f5 DOUBLE DEFAULT '2.00',
998 f6 DECIMAL(17,9) default '1000.00',
1000 f8 NUMERIC(6,4) default '2000.00',
1002 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',
1006 Warning 1264 Out of range value for column 'f8' at row 1
1008 CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
1035 f30 ENUM ('a','b', 'c') default 'a',
1038 f33 SET ('a', 'b', 'c') default 'b',
1039 f34 VARBINARY(1025),
1043 ** Alter tables on slave and drop columns **
1045 alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
1047 alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
1048 alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
1050 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
1051 drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
1052 drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
1053 drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
1054 drop f33, drop f34, drop f35;
1056 ** Insert Data into Master **
1057 INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
1059 INSERT into t2 values (2, 2, 2, 'second',
1060 2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
1063 3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
1066 Warning 1264 Out of range value for column 'f9' at row 1
1067 Warning 1264 Out of range value for column 'f9' at row 2
1068 INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
1069 INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
1071 INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
1072 INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
1073 f9=2.2, f10='seven samurai', f28=222.222, f35='222';
1075 Warning 1366 Incorrect integer value: 'seven samurai' for column 'f10' at row 1
1076 INSERT into t31 values (1, 1, 3, 'third',
1077 /* f5 BIGINT, */ 333333333333333333333333,
1078 /* f6 BLOB, */ '3333333333333333333333',
1079 /* f7 DATE, */ '2007-07-18',
1080 /* f8 DATETIME, */ "2007-07-18",
1081 /* f9 FLOAT, */ 3.33333333,
1082 /* f10 INT, */ 333333333,
1083 /* f11 LONGBLOB, */ '3333333333333333333',
1084 /* f12 LONGTEXT, */ '3333333333333333333',
1085 /* f13 MEDIUMBLOB, */ '3333333333333333333',
1086 /* f14 MEDIUMINT, */ 33,
1087 /* f15 MEDIUMTEXT, */ 3.3,
1088 /* f16 REAL, */ 3.3,
1089 /* f17 SMALLINT, */ 3,
1090 /* f18 TEXT, */ '33',
1091 /* f19 TIME, */ '2:59:58.999',
1092 /* f20 TIMESTAMP, */ 20000303000000,
1093 /* f21 TINYBLOB, */ '3333',
1094 /* f22 TINYINT, */ 3,
1095 /* f23 TINYTEXT, */ '3',
1096 /* f24 YEAR, */ 3000,
1097 /* f25 BINARY(255), */ 'three_33333',
1098 /* f26 BIT(64), */ b'011',
1099 /* f27 CHAR(255), */ 'three',
1100 /* f28 DECIMAL(30,7), */ 3.333,
1101 /* f29 DOUBLE, */ 3.333333333333333333333333333,
1102 /* f30 ENUM ('a','b','c')*/ 'c',
1103 /* f31 FLOAT, */ 3.0,
1104 /* f32 NUMERIC(17,9), */ 3.3333,
1105 /* f33 SET ('a','b','c'),*/ 'c',
1106 /*f34 VARBINARY(1025),*/ '3333 minus 3',
1107 /*f35 VARCHAR(257),*/ 'three times three'
1110 Warning 1264 Out of range value for column 'f5' at row 1
1111 Warning 1264 Out of range value for column 'f24' at row 1
1112 INSERT into t31 values (1, 1, 4, 'fourth',
1113 /* f5 BIGINT, */ 333333333333333333333333,
1114 /* f6 BLOB, */ '3333333333333333333333',
1115 /* f7 DATE, */ '2007-07-18',
1116 /* f8 DATETIME, */ "2007-07-18",
1117 /* f9 FLOAT, */ 3.33333333,
1118 /* f10 INT, */ 333333333,
1119 /* f11 LONGBLOB, */ '3333333333333333333',
1120 /* f12 LONGTEXT, */ '3333333333333333333',
1121 /* f13 MEDIUMBLOB, */ '3333333333333333333',
1122 /* f14 MEDIUMINT, */ 33,
1123 /* f15 MEDIUMTEXT, */ 3.3,
1124 /* f16 REAL, */ 3.3,
1125 /* f17 SMALLINT, */ 3,
1126 /* f18 TEXT, */ '33',
1127 /* f19 TIME, */ '2:59:58.999',
1128 /* f20 TIMESTAMP, */ 20000303000000,
1129 /* f21 TINYBLOB, */ '3333',
1130 /* f22 TINYINT, */ 3,
1131 /* f23 TINYTEXT, */ '3',
1132 /* f24 YEAR, */ 3000,
1133 /* f25 BINARY(255), */ 'three_33333',
1134 /* f26 BIT(64), */ b'011',
1135 /* f27 CHAR(255), */ 'three',
1136 /* f28 DECIMAL(30,7), */ 3.333,
1137 /* f29 DOUBLE, */ 3.333333333333333333333333333,
1138 /* f30 ENUM ('a','b','c')*/ 'c',
1139 /* f31 FLOAT, */ 3.0,
1140 /* f32 NUMERIC(17,9), */ 3.3333,
1141 /* f33 SET ('a','b','c'),*/ 'c',
1142 /*f34 VARBINARY(1025),*/ '3333 minus 3',
1143 /*f35 VARCHAR(257),*/ 'three times three'
1146 /* f5 BIGINT, */ 333333333333333333333333,
1147 /* f6 BLOB, */ '3333333333333333333333',
1148 /* f7 DATE, */ '2007-07-18',
1149 /* f8 DATETIME, */ "2007-07-18",
1150 /* f9 FLOAT, */ 3.33333333,
1151 /* f10 INT, */ 333333333,
1152 /* f11 LONGBLOB, */ '3333333333333333333',
1153 /* f12 LONGTEXT, */ '3333333333333333333',
1154 /* f13 MEDIUMBLOB, */ '3333333333333333333',
1155 /* f14 MEDIUMINT, */ 33,
1156 /* f15 MEDIUMTEXT, */ 3.3,
1157 /* f16 REAL, */ 3.3,
1158 /* f17 SMALLINT, */ 3,
1159 /* f18 TEXT, */ '33',
1160 /* f19 TIME, */ '2:59:58.999',
1161 /* f20 TIMESTAMP, */ 20000303000000,
1162 /* f21 TINYBLOB, */ '3333',
1163 /* f22 TINYINT, */ 3,
1164 /* f23 TINYTEXT, */ '3',
1165 /* f24 YEAR, */ 3000,
1166 /* f25 BINARY(255), */ 'three_33333',
1167 /* f26 BIT(64), */ b'011',
1168 /* f27 CHAR(255), */ 'three',
1169 /* f28 DECIMAL(30,7), */ 3.333,
1170 /* f29 DOUBLE, */ 3.333333333333333333333333333,
1171 /* f30 ENUM ('a','b','c')*/ 'c',
1172 /* f31 FLOAT, */ 3.0,
1173 /* f32 NUMERIC(17,9), */ 3.3333,
1174 /* f33 SET ('a','b','c'),*/ 'c',
1175 /*f34 VARBINARY(1025),*/ '3333 minus 3',
1176 /*f35 VARCHAR(257),*/ 'three times three'
1179 /* f5 BIGINT, */ NULL,
1180 /* f6 BLOB, */ '3333333333333333333333',
1181 /* f7 DATE, */ '2007-07-18',
1182 /* f8 DATETIME, */ "2007-07-18",
1183 /* f9 FLOAT, */ 3.33333333,
1184 /* f10 INT, */ 333333333,
1185 /* f11 LONGBLOB, */ '3333333333333333333',
1186 /* f12 LONGTEXT, */ '3333333333333333333',
1187 /* f13 MEDIUMBLOB, */ '3333333333333333333',
1188 /* f14 MEDIUMINT, */ 33,
1189 /* f15 MEDIUMTEXT, */ 3.3,
1190 /* f16 REAL, */ 3.3,
1191 /* f17 SMALLINT, */ 3,
1192 /* f18 TEXT, */ '33',
1193 /* f19 TIME, */ '2:59:58.999',
1194 /* f20 TIMESTAMP, */ 20000303000000,
1195 /* f21 TINYBLOB, */ '3333',
1196 /* f22 TINYINT, */ 3,
1197 /* f23 TINYTEXT, */ '3',
1198 /* f24 YEAR, */ 3000,
1199 /* f25 BINARY(255), */ 'three_33333',
1200 /* f26 BIT(64), */ b'011',
1201 /* f27 CHAR(255), */ 'three',
1202 /* f28 DECIMAL(30,7), */ 3.333,
1203 /* f29 DOUBLE, */ 3.333333333333333333333333333,
1204 /* f30 ENUM ('a','b','c')*/ 'c',
1205 /* f31 FLOAT, */ 3.0,
1206 /* f32 NUMERIC(17,9), */ 3.3333,
1207 /* f33 SET ('a','b','c'),*/ 'c',
1208 /*f34 VARBINARY(1025),*/ '3333 minus 3',
1209 /*f35 VARCHAR(257),*/ NULL
1212 Warning 1264 Out of range value for column 'f5' at row 1
1213 Warning 1264 Out of range value for column 'f24' at row 1
1214 Warning 1264 Out of range value for column 'f5' at row 2
1215 Warning 1264 Out of range value for column 'f24' at row 2
1216 Warning 1264 Out of range value for column 'f24' at row 3
1218 ** Sync slave with master **
1219 ** Do selects from tables **
1221 select * from t1 order by f3;
1263 select * from t2 order by f1;
1268 select * from t3 order by f1;
1271 select * from t4 order by f1;
1274 select * from t31 order by f3;
1283 ** Do updates master **
1285 update t31 set f5=555555555555555 where f3=6;
1286 update t31 set f2=2 where f3=2;
1287 update t31 set f1=NULL where f3=1;
1288 update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
1290 Warning 1048 Column 'f3' cannot be null
1292 ** Delete from Master **
1302 ** Check slave status **
1304 Checking that both slave threads are running.
1306 ****************************************
1307 * columns in master at middle of table *
1308 * Expect: Proper error message *
1309 ****************************************
1311 ** Stop and Reset Slave **
1316 ** create table slave side **
1317 CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
1320 ** Connect to master and create table **
1322 CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
1323 c CHAR(5), e INT DEFAULT '1')ENGINE='NDB';
1329 *** Master Data Insert ***
1330 set @b1 = 'b1b1b1b1';
1331 set @b1 = concat(@b1,@b1);
1332 INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
1333 (2,@b1,DEFAULT,'JOE',DEFAULT),
1334 (3,@b1,DEFAULT,'QA',DEFAULT);
1336 ********************************************
1337 *** Expect slave to fail with Error 1535 ***
1338 ********************************************
1340 --source include/wait_for_slave_sql_error_and_skip.inc
1341 Last_SQL_Error = Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
1342 SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
1343 include/start_slave.inc
1348 *********************************************
1349 * More columns in master at middle of table *
1350 * Expect: Proper error message *
1351 *********************************************
1353 *** Create t11 on slave ***
1356 CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
1359 *** Create t11 on Master ***
1360 CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
1361 c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
1367 *** Master Data Insert ***
1368 set @b1 = 'b1b1b1b1';
1369 set @b1 = concat(@b1,@b1);
1370 INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
1371 (2,@b1,'Testing is cool','JOE',DEFAULT),
1372 (3,@b1,DEFAULT,'QA',DEFAULT);
1374 ********************************************
1375 *** Expect slave to fail with Error 1535 ***
1376 ********************************************
1378 --source include/wait_for_slave_sql_error_and_skip.inc
1379 Last_SQL_Error = Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
1380 SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
1381 include/start_slave.inc
1386 *********************************************
1387 * More columns in master at middle of table *
1388 * Expect: This one should pass blob-text *
1389 *********************************************
1391 *** Create t12 on slave ***
1394 CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
1397 *** Create t12 on Master ***
1398 CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
1399 c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
1405 *** Master Data Insert ***
1406 set @b1 = 'b1b1b1b1';
1407 set @b1 = concat(@b1,@b1);
1408 INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
1409 (2,@b1,'JOE',DEFAULT,DEFAULT),
1410 (3,@b1,'QA',DEFAULT,DEFAULT);
1412 SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
1414 1 62316231623162316231623162316231 Kyle test 1
1415 2 62316231623162316231623162316231 JOE test 1
1416 3 62316231623162316231623162316231 QA test 1
1418 *** Select on Slave ***
1419 SELECT a,hex(b),c FROM t12 ORDER BY a;
1421 1 62316231623162316231623162316231 Kyle
1422 2 62316231623162316231623162316231 JOE
1423 3 62316231623162316231623162316231 QA
1428 ****************************************************
1429 * - Alter Master adding columns at middle of table *
1430 * Expect: columns added *
1431 ****************************************************
1434 *** Create t14 on slave ***
1437 CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1440 *** Create t14 on Master ***
1441 CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1443 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1450 *** Master Data Insert ***
1451 ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
1452 ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
1454 set @b1 = 'b1b1b1b1';
1455 set @b1 = concat(@b1,@b1);
1456 INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
1457 (2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
1458 (3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
1460 SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
1461 c1 c2 c3 hex(c4) c5 c6 c7
1462 1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1463 2 2.00 This Test Should work 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP
1464 3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP
1466 *** Select on Slave ****
1467 SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
1469 1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle
1470 2 2.00 This Test Should work 62316231623162316231623162316231 JOE
1471 3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA
1473 ****************************************************
1474 * - Alter Master Dropping columns from the middle. *
1475 * Expect: columns dropped *
1476 ****************************************************
1478 *** connect to master and drop columns ***
1479 ALTER TABLE t14 DROP COLUMN c2;
1480 ALTER TABLE t14 DROP COLUMN c7;
1482 *** Select from Master ***
1483 SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
1485 1 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1
1486 2 This Test Should work 62316231623162316231623162316231 JOE 1
1487 3 If is does not, I will open a bug 62316231623162316231623162316231 QA 1
1492 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'
1502 *************************************************
1503 * - Alter Master adding columns at end of table *
1504 * Expect: Error 1054 *
1505 *************************************************
1507 *** Create t15 on slave ***
1510 CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1513 *** Create t15 on Master ***
1514 CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1516 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1523 *** Master Data Insert ***
1524 ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
1525 set @b1 = 'b1b1b1b1';
1526 set @b1 = concat(@b1,@b1);
1527 INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
1528 (2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
1529 (3,@b1,'QA',DEFAULT,DEFAULT,3.00);
1530 SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
1531 c1 hex(c4) c5 c6 c7 c2
1532 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP 3.00
1533 2 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP 3.00
1534 3 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP 3.00
1536 ********************************************
1537 *** Expect slave to fail with Error 1054 ***
1538 ********************************************
1540 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'
1550 ************************************************
1551 * - Create index on Master column not on slave *
1553 ************************************************
1555 *** Create t16 on slave ***
1558 CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1561 *** Create t16 on Master ***
1562 CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1564 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1571 *** Master Create Index and Data Insert ***
1572 CREATE INDEX part_of_c6 ON t16 (c6);
1573 set @b1 = 'b1b1b1b1';
1574 set @b1 = concat(@b1,@b1);
1575 INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
1576 (2,@b1,'JOE',2,DEFAULT),
1577 (3,@b1,'QA',3,DEFAULT);
1578 SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
1580 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1581 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1582 3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
1588 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)'
1598 *****************************************************
1599 * - Delete rows using column on Master not on slave *
1600 * Expect: Rows Deleted *
1601 *****************************************************
1603 *** Create t17 on slave ***
1606 CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1609 *** Create t17 on Master ***
1610 CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1612 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1619 *** Master Data Insert ***
1620 set @b1 = 'b1b1b1b1';
1621 set @b1 = concat(@b1,@b1);
1622 INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
1623 (2,@b1,'JOE',2,DEFAULT),
1624 (3,@b1,'QA',3,DEFAULT);
1625 SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
1627 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1628 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1629 3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
1631 ** Select * from Slave **
1632 SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
1634 1 62316231623162316231623162316231 Kyle
1635 2 62316231623162316231623162316231 JOE
1636 3 62316231623162316231623162316231 QA
1638 ** Delete from master **
1639 DELETE FROM t17 WHERE c6 = 3;
1640 SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
1642 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1643 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1646 SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
1648 1 62316231623162316231623162316231 Kyle
1649 2 62316231623162316231623162316231 JOE
1653 *****************************************************
1654 * - Update row using column on Master not on slave *
1655 * Expect: Rows updated *
1656 *****************************************************
1660 *** Create t18 on slave ***
1664 CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1667 *** Create t18 on Master ***
1668 CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1670 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1677 *** Master Data Insert ***
1678 set @b1 = 'b1b1b1b1';
1679 set @b1 = concat(@b1,@b1);
1680 INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
1681 (2,@b1,'JOE',2,DEFAULT),
1682 (3,@b1,'QA',3,DEFAULT);
1683 SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
1685 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1686 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1687 3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
1689 ** Select * from Slave **
1690 SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
1692 1 62316231623162316231623162316231 Kyle
1693 2 62316231623162316231623162316231 JOE
1694 3 62316231623162316231623162316231 QA
1696 ** update from master **
1697 UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
1698 SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
1700 1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
1701 2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
1702 3 62316231623162316231623162316231 TEST 3 CURRENT_TIMESTAMP
1705 SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
1707 1 62316231623162316231623162316231 Kyle
1708 2 62316231623162316231623162316231 JOE
1709 3 62316231623162316231623162316231 TEST
1713 *****************************************************
1714 * - Insert UUID column on Master not on slave *
1715 * Expect: Rows inserted *
1716 *****************************************************
1718 *** Create t5 on slave ***
1721 CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
1724 *** Create t5 on Master ***
1725 CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
1727 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
1734 *** Master Data Insert ***
1735 set @b1 = 'b1b1b1b1';
1736 INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
1737 (2,@b1,'JOE',UUID(),DEFAULT),
1738 (3,@b1,'QA',UUID(),DEFAULT);
1739 SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
1741 1 6231623162316231 Kyle UUID TIME
1742 2 6231623162316231 JOE UUID TIME
1743 3 6231623162316231 QA UUID TIME
1745 ** Select * from Slave **
1746 SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
1748 1 6231623162316231 Kyle
1749 2 6231623162316231 JOE
1750 3 6231623162316231 QA