mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / rpl / r / rpl_extra_col_master_innodb.result
blob8684701738a2e62dced5691610865966f00aa99c
1 include/master-slave.inc
2 [connection master]
4 ***********************************************************
5 ***********************************************************
6 ***************** Start of Testing ************************
7 ***********************************************************
8 ***********************************************************
9 * This test format == binlog_format     ROW and engine == 'InnoDB'
10 ***********************************************************
11 ***********************************************************
13 ***** Testing more columns on the Master *****
15 CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
16 /* extra */
17 f5 FLOAT DEFAULT '2.00', 
18 f6 CHAR(4) DEFAULT 'TEST',
19 f7 INT DEFAULT '0',
20 f8 TEXT,
21 f9 LONGBLOB,
22 f10 BIT(63),
23 f11 VARBINARY(64))ENGINE='InnoDB';
25 * Alter Table on Slave and drop columns f5 through f11 *
27 alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
29 * Insert data in Master then update and delete some rows*
31 * Select count and 20 rows from Master *
33 SELECT COUNT(*) FROM t1;
34 COUNT(*)
37 SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
38 hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
39 f1      f2      f3      f4      f5      f6      f7      f8      f9      hex(f10)        hex(f11)
40 2       2       2       second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
41 3       3       3       next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
42 5       5       5       second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
43 6       6       6       next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
44 8       8       8       second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
45 9       9       9       next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
46 11      11      11      second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
47 12      12      12      next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
48 14      14      14      second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
49 15      15      15      next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
50 17      17      17      second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
51 18      18      18      next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
52 20      20      20      second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
53 21      21      21      next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
54 23      23      23      second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
55 24      24      24      next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
56 26      26      26      second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
57 27      27      27      next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
58 29      29      29      second  2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
59 30      30      30      next    2       kaks    2       got stolen from the paradise    very fat blob   1555    123456
61 * Select count and 20 rows from Slave *
63 SELECT COUNT(*) FROM t1;
64 COUNT(*)
67 SELECT * FROM t1 ORDER BY f3 LIMIT 20;
68 f1      f2      f3      f4
69 2       2       2       second
70 3       3       3       next
71 5       5       5       second
72 6       6       6       next
73 8       8       8       second
74 9       9       9       next
75 11      11      11      second
76 12      12      12      next
77 14      14      14      second
78 15      15      15      next
79 17      17      17      second
80 18      18      18      next
81 20      20      20      second
82 21      21      21      next
83 23      23      23      second
84 24      24      24      next
85 26      26      26      second
86 27      27      27      next
87 29      29      29      second
88 30      30      30      next
89 include/check_slave_is_running.inc
91 ***** Testing Altering table def scenario *****
93 CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
94 /* extra */
95 f5 DOUBLE DEFAULT '2.00', 
96 f6 ENUM('a', 'b', 'c') default 'a',
97 f7 DECIMAL(17,9) default '1000.00',
98 f8 MEDIUMBLOB,
99 f9 NUMERIC(6,4) default '2000.00',
100 f10 VARCHAR(1024),
101 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',
102 f12 SET('a', 'b', 'c') default 'b')
103 ENGINE='InnoDB';
104 Warnings:
105 Warning 1264    Out of range value for column 'f9' at row 1
107 CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
108 /* extra */
109 f5 DOUBLE DEFAULT '2.00', 
110 f6 ENUM('a', 'b', 'c') default 'a',
111 f8 MEDIUMBLOB,
112 f10 VARCHAR(1024),
113 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',
114 f12 SET('a', 'b', 'c') default 'b')
115 ENGINE='InnoDB';
117 CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
118 /* extra */
119 f5 DOUBLE DEFAULT '2.00', 
120 f6 DECIMAL(17,9) default '1000.00',
121 f7 MEDIUMBLOB,
122 f8 NUMERIC(6,4) default '2000.00',
123 f9 VARCHAR(1024),
124 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',
125 f11 CHAR(255))
126 ENGINE='InnoDB';
127 Warnings:
128 Warning 1264    Out of range value for column 'f8' at row 1
130 CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
131 /* extra */
132 f5  BIGINT,
133 f6  BLOB,
134 f7  DATE,
135 f8  DATETIME,
136 f9  FLOAT,
137 f10 INT,
138 f11 LONGBLOB,
139 f12 LONGTEXT,
140 f13 MEDIUMBLOB,
141 f14 MEDIUMINT,
142 f15 MEDIUMTEXT,
143 f16 REAL,
144 f17 SMALLINT,
145 f18 TEXT,
146 f19 TIME,
147 f20 TIMESTAMP,
148 f21 TINYBLOB,
149 f22 TINYINT,
150 f23 TINYTEXT,
151 f24 YEAR,
152 f25 BINARY(255),
153 f26 BIT(64),
154 f27 CHAR(255),
155 f28 DECIMAL(30,7),
156 f29 DOUBLE,
157 f30 ENUM ('a','b', 'c') default 'a',
158 f31 FLOAT,
159 f32 NUMERIC(17,9),
160 f33 SET ('a', 'b', 'c') default 'b',
161 f34 VARBINARY(1025),
162 f35 VARCHAR(257)       
163 ) ENGINE='InnoDB';
165 ** Alter tables on slave and drop columns **
167 alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
168 f12;
169 alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
170 alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
171 alter table t31 
172 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
173 drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
174 drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
175 drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
176 drop f33, drop f34, drop f35;
178 ** Insert Data into Master **
179 INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
180 some var char';
181 INSERT into t2 values (2, 2, 2, 'second',
182 2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
183 '01234567', 'c'),
184 (3, 3, 3, 'third',
185 3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
186 '01234567', 'c');
187 Warnings:
188 Warning 1264    Out of range value for column 'f9' at row 1
189 Warning 1264    Out of range value for column 'f9' at row 2
190 INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
191 INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
192 binary data';
193 INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
194 INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
195 f9=2.2,  f10='seven samurai', f28=222.222, f35='222';
196 Warnings:
197 Warning 1366    Incorrect integer value: 'seven samurai' for column 'f10' at row 1
198 INSERT into t31 values (1, 1, 3, 'third',
199 /* f5  BIGINT,  */            333333333333333333333333,
200 /* f6  BLOB,  */              '3333333333333333333333',
201 /* f7  DATE,  */              '2007-07-18',
202 /* f8  DATETIME,  */          "2007-07-18",
203 /* f9  FLOAT,  */             3.33333333,
204 /* f10 INT,  */               333333333,
205 /* f11 LONGBLOB,  */          '3333333333333333333',
206 /* f12 LONGTEXT,  */          '3333333333333333333',
207 /* f13 MEDIUMBLOB,  */        '3333333333333333333',
208 /* f14 MEDIUMINT,  */         33,
209 /* f15 MEDIUMTEXT,  */        3.3,
210 /* f16 REAL,  */              3.3,
211 /* f17 SMALLINT,  */          3,
212 /* f18 TEXT,  */              '33',
213 /* f19 TIME,  */              '2:59:58.999',
214 /* f20 TIMESTAMP,  */         20000303000000,
215 /* f21 TINYBLOB,  */          '3333',
216 /* f22 TINYINT,  */           3,
217 /* f23 TINYTEXT,  */          '3',
218 /* f24 YEAR,  */              3000,
219 /* f25 BINARY(255),  */       'three_33333',
220 /* f26 BIT(64),  */           b'011', 
221 /* f27 CHAR(255),  */         'three',
222 /* f28 DECIMAL(30,7),  */     3.333,
223 /* f29 DOUBLE,  */            3.333333333333333333333333333,
224 /* f30 ENUM ('a','b','c')*/   'c',
225 /* f31 FLOAT,  */             3.0,
226 /* f32 NUMERIC(17,9),  */     3.3333,
227 /* f33 SET ('a','b','c'),*/   'c',
228 /*f34 VARBINARY(1025),*/      '3333 minus 3',
229 /*f35 VARCHAR(257),*/         'three times three'
230       );
231 Warnings:
232 Warning 1264    Out of range value for column 'f5' at row 1
233 Warning 1264    Out of range value for column 'f24' at row 1
234 INSERT into t31 values (1, 1, 4, 'fourth',
235 /* f5  BIGINT,  */            333333333333333333333333,
236 /* f6  BLOB,  */              '3333333333333333333333',
237 /* f7  DATE,  */              '2007-07-18',
238 /* f8  DATETIME,  */          "2007-07-18",
239 /* f9  FLOAT,  */             3.33333333,
240 /* f10 INT,  */               333333333,
241 /* f11 LONGBLOB,  */          '3333333333333333333',
242 /* f12 LONGTEXT,  */          '3333333333333333333',
243 /* f13 MEDIUMBLOB,  */        '3333333333333333333',
244 /* f14 MEDIUMINT,  */         33,
245 /* f15 MEDIUMTEXT,  */        3.3,
246 /* f16 REAL,  */              3.3,
247 /* f17 SMALLINT,  */          3,
248 /* f18 TEXT,  */              '33',
249 /* f19 TIME,  */              '2:59:58.999',
250 /* f20 TIMESTAMP,  */         20000303000000,
251 /* f21 TINYBLOB,  */          '3333',
252 /* f22 TINYINT,  */           3,
253 /* f23 TINYTEXT,  */          '3',
254 /* f24 YEAR,  */              3000,
255 /* f25 BINARY(255),  */       'three_33333',
256 /* f26 BIT(64),  */           b'011',
257 /* f27 CHAR(255),  */         'three',
258 /* f28 DECIMAL(30,7),  */     3.333,
259 /* f29 DOUBLE,  */            3.333333333333333333333333333,
260 /* f30 ENUM ('a','b','c')*/   'c',
261 /* f31 FLOAT,  */             3.0,
262 /* f32 NUMERIC(17,9),  */     3.3333,
263 /* f33 SET ('a','b','c'),*/   'c',
264 /*f34 VARBINARY(1025),*/      '3333 minus 3',
265 /*f35 VARCHAR(257),*/         'three times three'
266        ),
267 (1, 1, 5, 'fifth',
268 /* f5  BIGINT,  */            333333333333333333333333,
269 /* f6  BLOB,  */              '3333333333333333333333',
270 /* f7  DATE,  */              '2007-07-18',
271 /* f8  DATETIME,  */          "2007-07-18",
272 /* f9  FLOAT,  */             3.33333333,
273 /* f10 INT,  */               333333333,
274 /* f11 LONGBLOB,  */          '3333333333333333333',
275 /* f12 LONGTEXT,  */          '3333333333333333333',
276 /* f13 MEDIUMBLOB,  */        '3333333333333333333',
277 /* f14 MEDIUMINT,  */         33,
278 /* f15 MEDIUMTEXT,  */        3.3,
279 /* f16 REAL,  */              3.3,
280 /* f17 SMALLINT,  */          3,
281 /* f18 TEXT,  */              '33',
282 /* f19 TIME,  */              '2:59:58.999',
283 /* f20 TIMESTAMP,  */         20000303000000,
284 /* f21 TINYBLOB,  */          '3333',
285 /* f22 TINYINT,  */           3,
286 /* f23 TINYTEXT,  */          '3',
287 /* f24 YEAR,  */              3000,
288 /* f25 BINARY(255),  */       'three_33333',
289 /* f26 BIT(64),  */           b'011',
290 /* f27 CHAR(255),  */         'three',
291 /* f28 DECIMAL(30,7),  */     3.333,
292 /* f29 DOUBLE,  */            3.333333333333333333333333333,
293 /* f30 ENUM ('a','b','c')*/   'c',
294 /* f31 FLOAT,  */             3.0,
295 /* f32 NUMERIC(17,9),  */     3.3333,
296 /* f33 SET ('a','b','c'),*/   'c',
297 /*f34 VARBINARY(1025),*/      '3333 minus 3',
298 /*f35 VARCHAR(257),*/         'three times three'
299        ),
300 (1, 1, 6, 'sixth',
301 /* f5  BIGINT,  */            NULL,
302 /* f6  BLOB,  */              '3333333333333333333333',
303 /* f7  DATE,  */              '2007-07-18',
304 /* f8  DATETIME,  */          "2007-07-18",
305 /* f9  FLOAT,  */             3.33333333,
306 /* f10 INT,  */               333333333,
307 /* f11 LONGBLOB,  */          '3333333333333333333',
308 /* f12 LONGTEXT,  */          '3333333333333333333',
309 /* f13 MEDIUMBLOB,  */        '3333333333333333333',
310 /* f14 MEDIUMINT,  */         33,
311 /* f15 MEDIUMTEXT,  */        3.3,
312 /* f16 REAL,  */              3.3,
313 /* f17 SMALLINT,  */          3,
314 /* f18 TEXT,  */              '33',
315 /* f19 TIME,  */              '2:59:58.999',
316 /* f20 TIMESTAMP,  */         20000303000000,
317 /* f21 TINYBLOB,  */          '3333',
318 /* f22 TINYINT,  */           3,
319 /* f23 TINYTEXT,  */          '3',
320 /* f24 YEAR,  */              3000,
321 /* f25 BINARY(255),  */       'three_33333',
322 /* f26 BIT(64),  */           b'011',
323 /* f27 CHAR(255),  */         'three',
324 /* f28 DECIMAL(30,7),  */     3.333,
325 /* f29 DOUBLE,  */            3.333333333333333333333333333,
326 /* f30 ENUM ('a','b','c')*/   'c',
327 /* f31 FLOAT,  */             3.0,
328 /* f32 NUMERIC(17,9),  */     3.3333,
329 /* f33 SET ('a','b','c'),*/   'c',
330 /*f34 VARBINARY(1025),*/      '3333 minus 3',
331 /*f35 VARCHAR(257),*/         NULL
333 Warnings:
334 Warning 1264    Out of range value for column 'f5' at row 1
335 Warning 1264    Out of range value for column 'f24' at row 1
336 Warning 1264    Out of range value for column 'f5' at row 2
337 Warning 1264    Out of range value for column 'f24' at row 2
338 Warning 1264    Out of range value for column 'f24' at row 3
340 ** Sync slave with master ** 
341 ** Do selects from tables **
343 select * from t1 order by f3;
344 f1      f2      f3      f4
345 2       2       2       second
346 3       3       3       next
347 5       5       5       second
348 6       6       6       next
349 8       8       8       second
350 9       9       9       next
351 11      11      11      second
352 12      12      12      next
353 14      14      14      second
354 15      15      15      next
355 17      17      17      second
356 18      18      18      next
357 20      20      20      second
358 21      21      21      next
359 23      23      23      second
360 24      24      24      next
361 26      26      26      second
362 27      27      27      next
363 29      29      29      second
364 30      30      30      next
365 31      31      31      second
366 32      32      32      second
367 33      33      33      second
368 34      34      34      second
369 35      35      35      second
370 36      36      36      second
371 37      37      37      second
372 38      38      38      second
373 39      39      39      second
374 40      40      40      second
375 41      41      41      second
376 42      42      42      second
377 43      43      43      second
378 44      44      44      second
379 45      45      45      second
380 46      46      46      second
381 47      47      47      second
382 48      48      48      second
383 49      49      49      second
384 50      50      50      second
385 select * from t2 order by f1;
386 f1      f2      f3      f4
387 1       1       1       first
388 2       2       2       second
389 3       3       3       third
390 select * from t3 order by f1;
391 f1      f2      f3      f4
392 1       1       1       first
393 select * from t4 order by f1;
394 f1      f2      f3      f4
395 1       1       1       first
396 select * from t31 order by f3;
397 f1      f2      f3      f4
398 1       1       1       first
399 1       1       2       second
400 1       1       3       third
401 1       1       4       fourth
402 1       1       5       fifth
403 1       1       6       sixth
405 ** Do updates master **
407 update t31 set f5=555555555555555 where f3=6;
408 update t31 set f2=2 where f3=2;
409 update t31 set f1=NULL where f3=1;
410 update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
411 Warnings:
412 Warning 1048    Column 'f3' cannot be null
414 ** Delete from Master **
416 delete from t1;
417 delete from t2;
418 delete from t3;
419 delete from t4;
420 delete from t31;
421 select * from t31;
422 f1      f2      f3      f4
424 ** Check slave status **
426 include/check_slave_is_running.inc
428 ****************************************
429 * columns in master at middle of table *
430 * Expect: Proper error message         *
431 ****************************************
433 ** Stop and Reset Slave **
435 STOP SLAVE;
436 RESET SLAVE;
438 ** create table slave side **
439 CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
440 ) ENGINE='InnoDB';
442 ** Connect to master and create table **
444 CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
445 c CHAR(5), e INT DEFAULT '1')ENGINE='InnoDB';
446 RESET MASTER;
448 *** Start Slave ***
449 START SLAVE;
451 *** Master Data Insert ***
452 set @b1 = 'b1b1b1b1';
453 set @b1 = concat(@b1,@b1);
454 INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
455 (2,@b1,DEFAULT,'JOE',DEFAULT),
456 (3,@b1,DEFAULT,'QA',DEFAULT);
458 ********************************************
459 *** Expect slave to fail with Error 1535 ***
460 ********************************************
462 include/wait_for_slave_sql_error_and_skip.inc [errno=1535]
463 Last_SQL_Error = 'Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254'
465 *** Drop t10  ***
466 DROP TABLE t10;
468 *********************************************
469 * More columns in master at middle of table *
470 * Expect: Proper error message              *
471 *********************************************
473 *** Create t11 on slave  ***
474 STOP SLAVE;
475 RESET SLAVE;
476 CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
477 ) ENGINE='InnoDB';
479 *** Create t11 on Master ***
480 CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
481 c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
482 RESET MASTER;
484 *** Start Slave ***
485 START SLAVE;
487 *** Master Data Insert ***
488 set @b1 = 'b1b1b1b1';
489 set @b1 = concat(@b1,@b1);
490 INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
491 (2,@b1,'Testing is cool','JOE',DEFAULT),
492 (3,@b1,DEFAULT,'QA',DEFAULT);
494 ********************************************
495 *** Expect slave to fail with Error 1535 ***
496 ********************************************
498 include/wait_for_slave_sql_error_and_skip.inc [errno=1535]
499 Last_SQL_Error = 'Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15'
501 *** Drop t11  ***
502 DROP TABLE t11;
504 *********************************************
505 * More columns in master at middle of table *
506 * Expect: This one should pass blob-text    *
507 *********************************************
509 *** Create t12 on slave  ***
510 STOP SLAVE;
511 RESET SLAVE;
512 CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
513 ) ENGINE='InnoDB';
515 *** Create t12 on Master ***
516 CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
517 c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='InnoDB';
518 RESET MASTER;
520 *** Start Slave ***
521 START SLAVE;
523 *** Master Data Insert ***
524 set @b1 = 'b1b1b1b1';
525 set @b1 = concat(@b1,@b1);
526 INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
527 (2,@b1,'JOE',DEFAULT,DEFAULT),
528 (3,@b1,'QA',DEFAULT,DEFAULT);
530 SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
531 a       hex(b)  f       c       e
532 1       62316231623162316231623162316231        Kyle    test    1
533 2       62316231623162316231623162316231        JOE     test    1
534 3       62316231623162316231623162316231        QA      test    1
536 *** Select on Slave ***
537 SELECT a,hex(b),c FROM t12 ORDER BY a;
538 a       hex(b)  c
539 1       62316231623162316231623162316231        Kyle
540 2       62316231623162316231623162316231        JOE
541 3       62316231623162316231623162316231        QA
543 *** Drop t12  ***
544 DROP TABLE t12;
546 ****************************************************
547 * - Alter Master adding columns at middle of table *
548 *   Expect: columns added                          *
549 ****************************************************
552 *** Create t14 on slave  ***
553 STOP SLAVE;
554 RESET SLAVE;
555 CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
556 ) ENGINE='InnoDB';
558 *** Create t14 on Master ***
559 CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
560 c6 INT DEFAULT '1',
561 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
562 )ENGINE='InnoDB';
563 RESET MASTER;
565 *** Start Slave ***
566 START SLAVE;
568 *** Master Data Insert ***
569 ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
570 ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
572 set @b1 = 'b1b1b1b1';
573 set @b1 = concat(@b1,@b1);
574 INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
575 (2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
576 (3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
578 SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
579 c1      c2      c3      hex(c4) c5      c6      c7
580 1       1.00    Replication Testing Extra Col   62316231623162316231623162316231        Kyle    1       CURRENT_TIMESTAMP
581 2       2.00    This Test Should work   62316231623162316231623162316231        JOE     1       CURRENT_TIMESTAMP
582 3       3.00    If is does not, I will open a bug       62316231623162316231623162316231        QA      1       CURRENT_TIMESTAMP
584 *** Select on Slave ****
585 SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
586 c1      c2      c3      hex(c4) c5
587 1       1.00    Replication Testing Extra Col   62316231623162316231623162316231        Kyle
588 2       2.00    This Test Should work   62316231623162316231623162316231        JOE
589 3       3.00    If is does not, I will open a bug       62316231623162316231623162316231        QA
591 ****************************************************
592 * - Alter Master Dropping columns from the middle. *
593 *   Expect: columns dropped                        *
594 ****************************************************
596 *** connect to master and drop columns ***
597 ALTER TABLE t14 DROP COLUMN c2;
598 ALTER TABLE t14 DROP COLUMN c7;
600 *** Select from Master ***
601 SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
602 c1      c3      hex(c4) c5      c6
603 1       Replication Testing Extra Col   62316231623162316231623162316231        Kyle    1
604 2       This Test Should work   62316231623162316231623162316231        JOE     1
605 3       If is does not, I will open a bug       62316231623162316231623162316231        QA      1
607 ************
608 * Bug30415 *
609 ************
610 include/wait_for_slave_sql_error.inc [errno=1091]
611 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''
612 STOP SLAVE;
613 RESET SLAVE;
615 *** Drop t14  ***
616 DROP TABLE t14;
617 DROP TABLE t14;
618 RESET MASTER;
619 START SLAVE;
621 *************************************************
622 * - Alter Master adding columns at end of table *
623 *   Expect: Error 1054                          *
624 *************************************************
626 *** Create t15 on slave  ***
627 STOP SLAVE;
628 RESET SLAVE;
629 CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
630 ) ENGINE='InnoDB';
632 *** Create t15 on Master ***
633 CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
634 c6 INT DEFAULT '1',
635 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
636 )ENGINE='InnoDB';
637 RESET MASTER;
639 *** Start Slave ***
640 START SLAVE;
642 *** Master Data Insert ***
643 ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
644 set @b1 = 'b1b1b1b1';
645 set @b1 = concat(@b1,@b1);
646 INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
647 (2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
648 (3,@b1,'QA',DEFAULT,DEFAULT,3.00);
649 SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
650 c1      hex(c4) c5      c6      c7      c2
651 1       62316231623162316231623162316231        Kyle    1       CURRENT_TIMESTAMP       3.00
652 2       62316231623162316231623162316231        JOE     1       CURRENT_TIMESTAMP       3.00
653 3       62316231623162316231623162316231        QA      1       CURRENT_TIMESTAMP       3.00
655 ********************************************
656 *** Expect slave to fail with Error 1054 ***
657 ********************************************
659 include/wait_for_slave_sql_error.inc [errno=1054]
660 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''
661 STOP SLAVE;
662 RESET SLAVE;
664 *** Drop t15  ***
665 DROP TABLE t15;
666 DROP TABLE t15;
667 RESET MASTER;
668 START SLAVE;
670 ************************************************
671 * - Create index on Master column not on slave *
672 *   Expect:Warning                             *
673 ************************************************
675 *** Create t16 on slave  ***
676 STOP SLAVE;
677 RESET SLAVE;
678 CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
679 ) ENGINE='InnoDB';
681 *** Create t16 on Master ***
682 CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
683 c6 INT DEFAULT '1',
684 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
685 )ENGINE='InnoDB';
686 RESET MASTER;
688 *** Start Slave ***
689 START SLAVE;
691 *** Master Create Index and Data Insert ***
692 CREATE INDEX part_of_c6 ON t16 (c6);
693 set @b1 = 'b1b1b1b1';
694 set @b1 = concat(@b1,@b1);
695 INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
696 (2,@b1,'JOE',2,DEFAULT),
697 (3,@b1,'QA',3,DEFAULT);
698 SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
699 c1      hex(c4) c5      c6      c7
700 1       62316231623162316231623162316231        Kyle    1       CURRENT_TIMESTAMP
701 2       62316231623162316231623162316231        JOE     2       CURRENT_TIMESTAMP
702 3       62316231623162316231623162316231        QA      3       CURRENT_TIMESTAMP
704 *****************
705 *** BUG 30434 ***
706 *****************
708 include/wait_for_slave_sql_error.inc [errno=1072]
709 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)''
710 STOP SLAVE;
711 RESET SLAVE;
713 *** Drop t16  ***
714 DROP TABLE t16;
715 DROP TABLE t16;
716 RESET MASTER;
717 START SLAVE;
719 *****************************************************
720 * - Delete rows using column on Master not on slave *
721 *   Expect: Rows Deleted                            *
722 *****************************************************
724 *** Create t17 on slave  ***
725 STOP SLAVE;
726 RESET SLAVE;
727 CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
728 ) ENGINE='InnoDB';
730 *** Create t17 on Master ***
731 CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
732 c6 INT DEFAULT '1',
733 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
734 )ENGINE='InnoDB';
735 RESET MASTER;
737 *** Start Slave ***
738 START SLAVE;
740 *** Master Data Insert ***
741 set @b1 = 'b1b1b1b1';
742 set @b1 = concat(@b1,@b1);
743 INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
744 (2,@b1,'JOE',2,DEFAULT),
745 (3,@b1,'QA',3,DEFAULT);
746 SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
747 c1      hex(c4) c5      c6      c7
748 1       62316231623162316231623162316231        Kyle    1       CURRENT_TIMESTAMP
749 2       62316231623162316231623162316231        JOE     2       CURRENT_TIMESTAMP
750 3       62316231623162316231623162316231        QA      3       CURRENT_TIMESTAMP
752 ** Select * from Slave **
753 SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
754 c1      hex(c4) c5
755 1       62316231623162316231623162316231        Kyle
756 2       62316231623162316231623162316231        JOE
757 3       62316231623162316231623162316231        QA
759 ** Delete from master **
760 DELETE FROM t17 WHERE c6 = 3;
761 SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
762 c1      hex(c4) c5      c6      c7
763 1       62316231623162316231623162316231        Kyle    1       CURRENT_TIMESTAMP
764 2       62316231623162316231623162316231        JOE     2       CURRENT_TIMESTAMP
766 ** Check slave **
767 SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
768 c1      hex(c4) c5
769 1       62316231623162316231623162316231        Kyle
770 2       62316231623162316231623162316231        JOE
771 DROP TABLE t17;
774 *****************************************************
775 * - Update row using column on Master not on slave *
776 *   Expect: Rows updated                           *
777 *****************************************************
779 ** Bug30674 **
781 *** Create t18 on slave  ***
783 STOP SLAVE;
784 RESET SLAVE;
785 CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
786 ) ENGINE='InnoDB';
788 *** Create t18 on Master ***
789 CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
790 c6 INT DEFAULT '1',
791 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
792 )ENGINE='InnoDB';
793 RESET MASTER;
795 *** Start Slave ***
796 START SLAVE;
798 *** Master Data Insert ***
799 set @b1 = 'b1b1b1b1';
800 set @b1 = concat(@b1,@b1);
801 INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
802 (2,@b1,'JOE',2,DEFAULT),
803 (3,@b1,'QA',3,DEFAULT);
804 SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
805 c1      hex(c4) c5      c6      c7
806 1       62316231623162316231623162316231        Kyle    1       CURRENT_TIMESTAMP
807 2       62316231623162316231623162316231        JOE     2       CURRENT_TIMESTAMP
808 3       62316231623162316231623162316231        QA      3       CURRENT_TIMESTAMP
810 ** Select * from Slave **
811 SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
812 c1      hex(c4) c5
813 1       62316231623162316231623162316231        Kyle
814 2       62316231623162316231623162316231        JOE
815 3       62316231623162316231623162316231        QA
817 ** update from master **
818 UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
819 SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
820 c1      hex(c4) c5      c6      c7
821 1       62316231623162316231623162316231        Kyle    1       CURRENT_TIMESTAMP
822 2       62316231623162316231623162316231        JOE     2       CURRENT_TIMESTAMP
823 3       62316231623162316231623162316231        TEST    3       CURRENT_TIMESTAMP
825 ** Check slave **
826 SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
827 c1      hex(c4) c5
828 1       62316231623162316231623162316231        Kyle
829 2       62316231623162316231623162316231        JOE
830 3       62316231623162316231623162316231        TEST
831 DROP TABLE t18;
834 *****************************************************
835 * - Insert UUID  column on Master not on slave *
836 *   Expect: Rows inserted                      *
837 *****************************************************
839 *** Create t5 on slave  ***
840 STOP SLAVE;
841 RESET SLAVE;
842 CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
843 ) ENGINE='InnoDB';
845 *** Create t5 on Master ***
846 CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
847 c6 LONG, 
848 c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
849 )ENGINE='InnoDB';
850 RESET MASTER;
852 *** Start Slave ***
853 START SLAVE;
855 *** Master Data Insert ***
856 set @b1 = 'b1b1b1b1';
857 INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
858 (2,@b1,'JOE',UUID(),DEFAULT),
859 (3,@b1,'QA',UUID(),DEFAULT);
860 SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
861 c1      hex(c4) c5      c6      c7
862 1       6231623162316231        Kyle    UUID    TIME
863 2       6231623162316231        JOE     UUID    TIME
864 3       6231623162316231        QA      UUID    TIME
866 ** Select * from Slave **
867 SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
868 c1      hex(c4) c5
869 1       6231623162316231        Kyle
870 2       6231623162316231        JOE
871 3       6231623162316231        QA
872 DROP TABLE t5;
873 include/rpl_end.inc