~ubuntu-branches/ubuntu/maverick/mysql-5.1/maverick-proposed

« back to all changes in this revision

Viewing changes to mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 14:16:05 UTC
  • mto: This revision was merged to the branch mainline in revision 20.
  • Revision ID: package-import@ubuntu.com-20120222141605-nxlu9yzc6attylc2
Tags: upstream-5.1.61
ImportĀ upstreamĀ versionĀ 5.1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#################################################
2
 
# Author: Jeb
3
 
# Date:   2006-09-07
4
 
# Purpose: To test having extra columns on the slave.
5
 
##################################################
6
 
 
7
 
# Some tests in here requre partitioning
8
 
 
9
 
########### Clean up ################
10
 
--disable_warnings
11
 
--disable_query_log
12
 
DROP TABLE IF EXISTS t1, t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t14a,t15,t16,t17;
13
 
--enable_query_log
14
 
--enable_warnings
15
 
 
16
 
#################################################
17
 
############ Different Table Def Test ###########
18
 
#################################################
19
 
# Purpose: To have different table def on the   #
20
 
#          master and slave. Most of these tests#
21
 
#          should stop the slave.               #
22
 
#################################################
23
 
 
24
 
call mtr.add_suppression("Slave: Unknown table 't6' Error_code: 1051");
25
 
 
26
 
--echo **** Diff Table Def Start ****
27
 
 
28
 
##############################################
29
 
### Try to replicate w/ PK on diff columns ###
30
 
### Should Stop Slave                      ###
31
 
##############################################
32
 
 
33
 
--echo *** On Slave ***
34
 
sync_slave_with_master;
35
 
STOP SLAVE;
36
 
RESET SLAVE;
37
 
 
38
 
eval CREATE TABLE t1 (a INT, b INT PRIMARY KEY, c CHAR(20),
39
 
                      d FLOAT DEFAULT '2.00', 
40
 
                      e CHAR(4) DEFAULT 'TEST') 
41
 
                      ENGINE=$engine_type;
42
 
 
43
 
--echo *** Create t1 on Master ***
44
 
connection master;
45
 
eval CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c CHAR(10)
46
 
                       ) ENGINE=$engine_type;
47
 
 
48
 
RESET MASTER;
49
 
 
50
 
--echo *** Start Slave ***
51
 
connection slave;
52
 
START SLAVE;
53
 
 
54
 
--echo *** Master Data Insert ***
55
 
connection master;
56
 
 
57
 
INSERT INTO t1 () VALUES(1,2,'TEXAS'),(2,1,'AUSTIN'),(3,4,'QA');
58
 
SELECT * FROM t1 ORDER BY a;
59
 
 
60
 
--echo *** Select from slave ***
61
 
sync_slave_with_master;
62
 
SELECT * FROM t1 ORDER BY a;
63
 
 
64
 
--echo *** Drop t1  ***
65
 
connection master;
66
 
DROP TABLE t1;
67
 
sync_slave_with_master;
68
 
 
69
 
############################################
70
 
### Try to replicate CHAR(10) to CHAR(5) ###
71
 
### Should Stop Slave or truncate value  ###
72
 
############################################
73
 
 
74
 
## BUG22086
75
 
--echo *** Create t2 on slave  ***
76
 
STOP SLAVE;
77
 
RESET SLAVE;
78
 
eval CREATE TABLE t2 (a INT, b INT PRIMARY KEY, c CHAR(5),
79
 
                      d FLOAT DEFAULT '2.00',
80
 
                      e CHAR(5) DEFAULT 'TEST2')
81
 
                      ENGINE=$engine_type;
82
 
 
83
 
--echo *** Create t2 on Master ***
84
 
connection master;
85
 
eval CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
86
 
                       ) ENGINE=$engine_type;
87
 
RESET MASTER;
88
 
 
89
 
--echo *** Master Data Insert ***
90
 
connection master;
91
 
 
92
 
INSERT INTO t2 () VALUES(1,2,'Kyle, TEX'),(2,1,'JOE AUSTIN'),(3,4,'QA TESTING');
93
 
SELECT * FROM t2 ORDER BY a;
94
 
 
95
 
--echo *** Start Slave ***
96
 
connection slave;
97
 
START SLAVE;
98
 
--let $slave_sql_errno= 1535
99
 
--let $show_slave_sql_error= 1
100
 
--source include/wait_for_slave_sql_error.inc
101
 
STOP SLAVE;
102
 
RESET SLAVE;
103
 
SELECT * FROM t2 ORDER BY a;
104
 
 
105
 
connection master;
106
 
RESET MASTER;
107
 
 
108
 
connection slave;
109
 
START SLAVE;
110
 
 
111
 
--echo *** Drop t2  ***
112
 
connection master;
113
 
DROP TABLE t2;
114
 
sync_slave_with_master;
115
 
 
116
 
####################################
117
 
### Try to replicate BLOB to INT ###
118
 
### Should Stop Slave            ###
119
 
####################################
120
 
--echo *** Create t3 on slave  ***
121
 
STOP SLAVE;
122
 
RESET SLAVE;
123
 
eval CREATE TABLE t3 (a INT, b INT PRIMARY KEY, c CHAR(20),
124
 
                      d FLOAT DEFAULT '2.00',
125
 
                      e CHAR(5) DEFAULT 'TEST2')
126
 
                      ENGINE=$engine_type;
127
 
 
128
 
--echo *** Create t3 on Master ***
129
 
connection master;
130
 
eval CREATE TABLE t3 (a BLOB, b INT PRIMARY KEY, c CHAR(20)
131
 
                       ) ENGINE=$engine_type;
132
 
RESET MASTER;
133
 
 
134
 
--echo *** Start Slave ***
135
 
connection slave;
136
 
START SLAVE;
137
 
 
138
 
--echo *** Master Data Insert ***
139
 
connection master;
140
 
 
141
 
set @b1 = 'b1';
142
 
set @b1 = concat(@b1,@b1);
143
 
 
144
 
INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TESTING');
145
 
 
146
 
--echo ********************************************
147
 
--echo *** Expect slave to fail with Error 1535 ***
148
 
--echo ********************************************
149
 
connection slave;
150
 
--let $slave_sql_errno= 1535
151
 
--let $slave_skip_counter= 2
152
 
--let $show_slave_sql_error= 1
153
 
--source include/wait_for_slave_sql_error_and_skip.inc
154
 
 
155
 
--echo *** Drop t3  ***
156
 
connection master;
157
 
DROP TABLE t3;
158
 
sync_slave_with_master;
159
 
 
160
 
#####################################################
161
 
# Columns with different types, more columns at end #
162
 
# Expect: proper error message (wrong types)        #
163
 
##################################################### 
164
 
 
165
 
--echo *** Create t4 on slave  ***
166
 
STOP SLAVE;
167
 
RESET SLAVE;
168
 
eval CREATE TABLE t4 (a INT, b INT PRIMARY KEY, c CHAR(20),
169
 
                      d FLOAT DEFAULT '2.00',
170
 
                      e CHAR(5) DEFAULT 'TEST2')
171
 
                      ENGINE=$engine_type;
172
 
 
173
 
--echo *** Create t4 on Master ***
174
 
connection master;
175
 
eval CREATE TABLE t4 (a DECIMAL(8,2), b INT PRIMARY KEY, c CHAR(20)
176
 
                       ) ENGINE=$engine_type;
177
 
RESET MASTER;
178
 
 
179
 
--echo *** Start Slave ***
180
 
connection slave;
181
 
START SLAVE;
182
 
 
183
 
--echo *** Master Data Insert ***
184
 
connection master;
185
 
 
186
 
INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),
187
 
                        (30000.22,4,'QA TESTING');
188
 
 
189
 
--echo ********************************************
190
 
--echo *** Expect slave to fail with Error 1535 ***
191
 
--echo ********************************************
192
 
connection slave;
193
 
--let $slave_sql_errno= 1535
194
 
--let $slave_skip_counter= 2
195
 
--let $show_slave_sql_error= 1
196
 
--source include/wait_for_slave_sql_error_and_skip.inc
197
 
 
198
 
--echo *** Drop t4  ***
199
 
connection master;
200
 
DROP TABLE t4;
201
 
sync_slave_with_master;
202
 
 
203
 
#######################################################
204
 
# Columns with different types, same number of colums #
205
 
# Expect: Proper error message                        #
206
 
#######################################################
207
 
 
208
 
--echo *** Create t5 on slave  ***
209
 
STOP SLAVE;
210
 
RESET SLAVE;
211
 
eval CREATE TABLE t5 (a INT PRIMARY KEY, b CHAR(5),
212
 
                      c FLOAT, d INT, e DOUBLE,
213
 
                      f DECIMAL(8,2))ENGINE=$engine_type;
214
 
 
215
 
--echo *** Create t5 on Master ***
216
 
connection master;
217
 
eval CREATE TABLE t5 (a INT PRIMARY KEY, b VARCHAR(6),
218
 
                      c DECIMAL(8,2), d BIT, e BLOB,
219
 
                      f FLOAT) ENGINE=$engine_type;
220
 
RESET MASTER;
221
 
 
222
 
--echo *** Start Slave ***
223
 
connection slave;
224
 
START SLAVE;
225
 
 
226
 
--echo *** Master Data Insert ***
227
 
connection master;
228
 
 
229
 
INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),
230
 
                        (2,'JOE',300.01,0,'b2b2',1.0000009);
231
 
 
232
 
--echo ********************************************
233
 
--echo *** Expect slave to fail with Error 1535 ***
234
 
--echo ********************************************
235
 
connection slave;
236
 
--let $slave_sql_errno= 1535
237
 
--let $slave_skip_counter= 2
238
 
--let $show_slave_sql_error= 1
239
 
--source include/wait_for_slave_sql_error_and_skip.inc
240
 
 
241
 
--echo *** Drop t5  ***
242
 
connection master;
243
 
DROP TABLE t5;
244
 
sync_slave_with_master;
245
 
 
246
 
#######################################################
247
 
################## Continued ##########################
248
 
#######################################################
249
 
# Columns with different types, same number of colums #
250
 
# Expect: Proper error message                        #
251
 
#######################################################
252
 
 
253
 
--echo *** Create t6 on slave  ***
254
 
STOP SLAVE;
255
 
RESET SLAVE;
256
 
eval CREATE TABLE t6 (a INT PRIMARY KEY, b CHAR(5),
257
 
                      c FLOAT, d INT)ENGINE=$engine_type;
258
 
 
259
 
--echo *** Create t6 on Master ***
260
 
connection master;
261
 
eval CREATE TABLE t6 (a INT PRIMARY KEY, b VARCHAR(6),
262
 
                      c DECIMAL(8,2), d BIT 
263
 
                      ) ENGINE=$engine_type;
264
 
RESET MASTER;
265
 
 
266
 
--echo *** Start Slave ***
267
 
connection slave;
268
 
START SLAVE;
269
 
 
270
 
--echo *** Master Data Insert ***
271
 
connection master;
272
 
 
273
 
INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),
274
 
                        (2,'JOE',300.01,0);
275
 
 
276
 
--echo ********************************************
277
 
--echo *** Expect slave to fail with Error 1535 ***
278
 
--echo ********************************************
279
 
connection slave;
280
 
--let $slave_sql_errno= 1535
281
 
--let $show_slave_sql_error= 1
282
 
--source include/wait_for_slave_sql_error.inc
283
 
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
284
 
#START SLAVE;
285
 
 
286
 
--echo *** Drop t6  ***
287
 
connection master;
288
 
DROP TABLE t6;
289
 
connection slave;
290
 
DROP TABLE t6;
291
 
START SLAVE;
292
 
#sync_slave_with_master;
293
 
 
294
 
 
295
 
--echo **** Diff Table Def End ****
296
 
 
297
 
#######################################
298
 
#### Extra Column on Slave Testing ####
299
 
#######################################
300
 
# Purpose: To test extra colums on the#
301
 
#          Slave                      #
302
 
#######################################
303
 
 
304
 
--echo **** Extra Colums Start ****
305
 
 
306
 
##########################################
307
 
# More columns in slave at end of table, # 
308
 
# added columns have default values      #
309
 
# Expect: it should work, default values #
310
 
#         should be used                 #
311
 
##########################################
312
 
 
313
 
--echo *** Create t7 on slave  ***
314
 
STOP SLAVE;
315
 
RESET SLAVE;
316
 
eval CREATE TABLE t7 (a INT KEY, b BLOB, c CHAR(5),
317
 
                      d TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
318
 
                      e CHAR(20) DEFAULT 'Extra Column Testing')
319
 
                      ENGINE=$engine_type;
320
 
 
321
 
--echo *** Create t7 on Master ***
322
 
connection master;
323
 
eval CREATE TABLE t7 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
324
 
                       ) ENGINE=$engine_type;
325
 
RESET MASTER;
326
 
 
327
 
--echo *** Start Slave ***
328
 
connection slave;
329
 
START SLAVE;
330
 
 
331
 
--echo *** Master Data Insert ***
332
 
connection master;
333
 
set @b1 = 'b1';
334
 
set @b1 = concat(@b1,@b1);
335
 
INSERT INTO t7 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
336
 
SELECT * FROM t7 ORDER BY a;
337
 
 
338
 
--echo *** Select from slave ***
339
 
sync_slave_with_master;
340
 
SELECT * FROM t7 ORDER BY a;
341
 
 
342
 
--echo *** Drop t7  ***
343
 
connection master;
344
 
DROP TABLE t7;
345
 
sync_slave_with_master;
346
 
 
347
 
###########################################
348
 
# More columns in slave at end of table,  #
349
 
# added columns do not have default values#
350
 
# Expect: Proper error message            #
351
 
###########################################
352
 
# NOTE: This should fail but currently    #
353
 
#       works. BUG#22101                  #
354
 
###########################################
355
 
--echo *** Create t8 on slave  ***
356
 
STOP SLAVE;
357
 
RESET SLAVE;
358
 
eval CREATE TABLE t8 (a INT KEY, b BLOB, c CHAR(5),
359
 
                      d TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
360
 
                      e INT)ENGINE=$engine_type;
361
 
 
362
 
--echo *** Create t8 on Master ***
363
 
connection master;
364
 
eval CREATE TABLE t8 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
365
 
                       ) ENGINE=$engine_type;
366
 
RESET MASTER;
367
 
 
368
 
--echo *** Start Slave ***
369
 
connection slave;
370
 
START SLAVE;
371
 
 
372
 
--echo *** Master Data Insert ***
373
 
connection master;
374
 
set @b1 = 'b1b1b1b1';
375
 
set @b1 = concat(@b1,@b1);
376
 
INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
377
 
 
378
 
### Uncomment once bug is fixed
379
 
 
380
 
#connection slave;
381
 
#--let $slave_sql_errno= SOMETHING
382
 
#--let $slave_skip_counter= 2
383
 
#--let $show_slave_sql_error= 1
384
 
#--source include/wait_for_slave_sql_error_and_skip.inc
385
 
 
386
 
--echo *** Drop t8  ***
387
 
connection master;
388
 
DROP TABLE t8;
389
 
sync_slave_with_master;
390
 
 
391
 
###########################################
392
 
############# Continued ###################
393
 
# More columns in slave at end of table,  #
394
 
# added columns do not have default values#
395
 
# Expect: Proper error message            #
396
 
###########################################
397
 
# Bug#22234, Bug#23907 Extra Slave Col is not 
398
 
# erroring on extra col with no default values.
399
 
###############################################################
400
 
# Error reaction is up to sql_mode of the slave sql (bug#38173)
401
 
#--echo *** Create t9 on slave  ***
402
 
# Please, check BUG#47741 to see why you are not testing NDB.
403
 
if (`SELECT $engine_type != 'NDB'`)
404
 
{
405
 
  STOP SLAVE;
406
 
  RESET SLAVE;
407
 
  eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
408
 
                        d TIMESTAMP,
409
 
                        e INT NOT NULL,
410
 
                        f text not null,
411
 
                        g text,
412
 
                        h blob not null,
413
 
                        i blob) ENGINE=$engine_type;
414
 
 
415
 
  --echo *** Create t9 on Master ***
416
 
  connection master;
417
 
  eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
418
 
                       ) ENGINE=$engine_type;
419
 
  RESET MASTER;
420
 
 
421
 
  --echo *** Start Slave ***
422
 
  connection slave;
423
 
  START SLAVE;
424
 
 
425
 
  --echo *** Master Data Insert ***
426
 
  connection master;
427
 
  set @b1 = 'b1b1b1b1';
428
 
 
429
 
  set @b1 = concat(@b1,@b1);
430
 
  INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
431
 
 
432
 
  # the test would stop slave if @@sql_mode for the sql thread
433
 
  # was set to strict. Otherwise, as with this tests setup, 
434
 
  # the implicit defaults will be inserted into fields even though
435
 
  # they are declared without DEFAULT clause.
436
 
 
437
 
  sync_slave_with_master;
438
 
  select * from t9;
439
 
 
440
 
  # todo: fix Bug #43992 slave sql thread can't tune own sql_mode ...
441
 
  # and add/restore waiting for stop test
442
 
 
443
 
  #--let $slave_sql_errno= SOMETHING
444
 
  #--let $slave_skip_counter= 2
445
 
  #--let $show_slave_sql_error= 1
446
 
  #--source include/wait_for_slave_sql_error_and_skip.inc
447
 
}
448
 
 
449
 
#--echo *** Drop t9  ***
450
 
#connection master;
451
 
#DROP TABLE t9;
452
 
#sync_slave_with_master;
453
 
 
454
 
############################################
455
 
# More columns in slave at middle of table #
456
 
# Expect: Proper error message             #
457
 
############################################
458
 
--echo  *** Create t10 on slave  ***
459
 
STOP SLAVE;
460
 
RESET SLAVE;
461
 
eval CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233', 
462
 
                      c CHAR(5), e INT DEFAULT '1')ENGINE=$engine_type;
463
 
 
464
 
--echo *** Create t10 on Master ***
465
 
connection master;
466
 
eval CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
467
 
                       ) ENGINE=$engine_type;
468
 
RESET MASTER;
469
 
 
470
 
--echo *** Start Slave ***
471
 
connection slave;
472
 
START SLAVE;
473
 
 
474
 
--echo *** Master Data Insert ***
475
 
connection master;
476
 
set @b1 = 'b1b1b1b1';
477
 
set @b1 = concat(@b1,@b1);
478
 
INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
479
 
 
480
 
--echo ********************************************
481
 
--echo *** Expect slave to fail with Error 1535 ***
482
 
--echo ********************************************
483
 
connection slave;
484
 
--let $slave_sql_errno= 1535
485
 
--let $slave_skip_counter= 2
486
 
--let $show_slave_sql_error= 1
487
 
--source include/wait_for_slave_sql_error_and_skip.inc
488
 
 
489
 
--echo *** Drop t10  ***
490
 
connection master;
491
 
DROP TABLE t10;
492
 
sync_slave_with_master;
493
 
 
494
 
############################################
495
 
############## Continued ###################
496
 
############################################
497
 
# More columns in slave at middle of table #
498
 
# Expect: Proper error message             #
499
 
############################################
500
 
--echo  *** Create t11 on slave  ***
501
 
STOP SLAVE;
502
 
RESET SLAVE;
503
 
eval CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
504
 
                      c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE=$engine_type;
505
 
 
506
 
--echo *** Create t11 on Master ***
507
 
connection master;
508
 
eval CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
509
 
                       ) ENGINE=$engine_type;
510
 
RESET MASTER;
511
 
 
512
 
--echo *** Start Slave ***
513
 
connection slave;
514
 
START SLAVE;
515
 
 
516
 
--echo *** Master Data Insert ***
517
 
connection master;
518
 
set @b1 = 'b1b1b1b1';
519
 
set @b1 = concat(@b1,@b1);
520
 
INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
521
 
 
522
 
--echo ********************************************
523
 
--echo *** Expect slave to fail with Error 1535 ***
524
 
--echo ********************************************
525
 
connection slave;
526
 
--let $slave_sql_errno= 1535
527
 
--let $slave_skip_counter= 2
528
 
--let $show_slave_sql_error= 1
529
 
--source include/wait_for_slave_sql_error_and_skip.inc
530
 
 
531
 
--echo *** Drop t11  ***
532
 
connection master;
533
 
DROP TABLE t11;
534
 
sync_slave_with_master;
535
 
 
536
 
############################################
537
 
############## Continued ###################
538
 
############################################
539
 
# More columns in slave at middle of table #
540
 
# Expect: This one should pass blob-text   #
541
 
############################################
542
 
--echo  *** Create t12 on slave  ***
543
 
STOP SLAVE;
544
 
RESET SLAVE;
545
 
eval CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
546
 
                      c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE=$engine_type;
547
 
 
548
 
--echo *** Create t12 on Master ***
549
 
connection master;
550
 
eval CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
551
 
                       ) ENGINE=$engine_type;
552
 
RESET MASTER;
553
 
 
554
 
--echo *** Start Slave ***
555
 
connection slave;
556
 
START SLAVE;
557
 
 
558
 
--echo *** Master Data Insert ***
559
 
connection master;
560
 
set @b1 = 'b1b1b1b1';
561
 
set @b1 = concat(@b1,@b1);
562
 
INSERT INTO t12 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
563
 
SELECT * FROM t12 ORDER BY a;
564
 
 
565
 
--echo *** Select on Slave ***
566
 
sync_slave_with_master;
567
 
SELECT * FROM t12 ORDER BY a;
568
 
 
569
 
--echo *** Drop t12  ***
570
 
connection master;
571
 
DROP TABLE t12;
572
 
sync_slave_with_master;
573
 
 
574
 
--echo **** Extra Colums End ****
575
 
 
576
 
###############################
577
 
# BUG#22177 CURRENT_TIMESTAMP #
578
 
# Sould work with ^           #
579
 
###############################
580
 
--echo *** BUG 22177 Start ***
581
 
--echo *** Create t13 on slave  ***
582
 
STOP SLAVE;
583
 
RESET SLAVE;
584
 
eval CREATE TABLE t13 (a INT KEY, b BLOB, c CHAR(5),
585
 
                      d INT DEFAULT '1',
586
 
                      e TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
587
 
                      )ENGINE=$engine_type;
588
 
 
589
 
--echo *** Create t13 on Master ***
590
 
connection master;
591
 
eval CREATE TABLE t13 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
592
 
                       ) ENGINE=$engine_type;
593
 
RESET MASTER;
594
 
 
595
 
--echo *** Start Slave ***
596
 
connection slave;
597
 
START SLAVE;
598
 
 
599
 
--echo *** Master Data Insert ***
600
 
connection master;
601
 
set @b1 = 'b1b1b1b1';
602
 
set @b1 = concat(@b1,@b1);
603
 
INSERT INTO t13 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
604
 
SELECT * FROM t13 ORDER BY a;
605
 
 
606
 
--echo *** Select on Slave ****
607
 
sync_slave_with_master;
608
 
--replace_column 5 CURRENT_TIMESTAMP 
609
 
SELECT * FROM t13 ORDER BY a;
610
 
 
611
 
--echo *** Drop t13  ***
612
 
connection master;
613
 
DROP TABLE t13;
614
 
sync_slave_with_master;
615
 
 
616
 
--echo *** 22117 END *** 
617
 
 
618
 
##############################
619
 
# ALTER MASTER TABLE TESTING #
620
 
##############################
621
 
 
622
 
--echo *** Alter Master Table Testing Start ***
623
 
 
624
 
####################################################
625
 
# - Alter Master adding columns at middle of table #
626
 
#   Expect: columns added                          #
627
 
####################################################
628
 
 
629
 
--echo *** Create t14 on slave  ***
630
 
STOP SLAVE;
631
 
RESET SLAVE;
632
 
eval CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
633
 
                      c6 INT DEFAULT '1',
634
 
                      c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
635
 
                      )ENGINE=$engine_type;
636
 
 
637
 
--echo *** Create t14 on Master ***
638
 
connection master;
639
 
eval CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
640
 
                       ) ENGINE=$engine_type;
641
 
RESET MASTER;
642
 
 
643
 
--echo *** Start Slave ***
644
 
connection slave;
645
 
START SLAVE;
646
 
 
647
 
--echo *** Master Data Insert ***
648
 
connection master;
649
 
ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
650
 
ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
651
 
set @b1 = 'b1b1b1b1';
652
 
set @b1 = concat(@b1,@b1);
653
 
INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
654
 
                        (2,2.00,'This Test Should work',@b1,'JOE'),
655
 
                        (3,3.00,'If is does not, I will open a bug',@b1,'QA');
656
 
SELECT * FROM t14 ORDER BY c1;
657
 
 
658
 
 
659
 
--echo *** Select on Slave ****
660
 
sync_slave_with_master;
661
 
--replace_column 7 CURRENT_TIMESTAMP
662
 
SELECT * FROM t14 ORDER BY c1;
663
 
 
664
 
####################################################
665
 
# - Alter Master drop column at end of table      #
666
 
#   Expect: column dropped                        #
667
 
####################################################
668
 
 
669
 
--echo *** Create t14a on slave  ***
670
 
STOP SLAVE;
671
 
RESET SLAVE;
672
 
eval CREATE TABLE t14a (c1 INT KEY, c4 BLOB, c5 CHAR(5),
673
 
                      c6 INT DEFAULT '1',
674
 
                      c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
675
 
                      )ENGINE=$engine_type;
676
 
 
677
 
--echo *** Create t14a on Master ***
678
 
connection master;
679
 
eval CREATE TABLE t14a (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
680
 
                       ) ENGINE=$engine_type;
681
 
RESET MASTER;
682
 
 
683
 
--echo *** Start Slave ***
684
 
connection slave;
685
 
START SLAVE;
686
 
 
687
 
--echo *** Master Data Insert ***
688
 
connection master;
689
 
set @b1 = 'b1b1b1b1';
690
 
set @b1 = concat(@b1,@b1);
691
 
INSERT INTO t14a () VALUES(1,@b1,'Kyle'),
692
 
                        (2,@b1,'JOE'),
693
 
                        (3,@b1,'QA');
694
 
 
695
 
SELECT * FROM t14a ORDER BY c1;
696
 
--echo *** Select on Slave ****
697
 
sync_slave_with_master;
698
 
--replace_column 5 CURRENT_TIMESTAMP
699
 
SELECT * FROM t14a ORDER BY c1;
700
 
STOP SLAVE;
701
 
RESET SLAVE;
702
 
 
703
 
--echo *** Master Drop c5 ***
704
 
connection master;
705
 
ALTER TABLE t14a DROP COLUMN c5;
706
 
RESET MASTER;
707
 
 
708
 
--echo *** Start Slave ***
709
 
connection slave;
710
 
START SLAVE;
711
 
 
712
 
--echo *** Master Data Insert ***
713
 
connection master;
714
 
set @b1 = 'b1b1b1b1';
715
 
set @b1 = concat(@b1,@b1);
716
 
 
717
 
INSERT INTO t14a () VALUES(4,@b1),
718
 
                        (5,@b1),
719
 
                        (6,@b1);
720
 
SELECT * FROM t14a ORDER BY c1;
721
 
 
722
 
--echo *** Select on Slave ****
723
 
sync_slave_with_master;
724
 
--replace_column 5 CURRENT_TIMESTAMP
725
 
SELECT * FROM t14a ORDER BY c1;
726
 
 
727
 
####################################################
728
 
# - Alter Master Dropping columns from the middle. #
729
 
#   Expect: columns dropped                        #
730
 
####################################################
731
 
 
732
 
--echo *** connect to master and drop columns ***
733
 
connection master;
734
 
ALTER TABLE t14 DROP COLUMN c2;
735
 
ALTER TABLE t14 DROP COLUMN c4;
736
 
--echo *** Select from Master ***
737
 
SELECT * FROM t14 ORDER BY c1;
738
 
 
739
 
--echo *** Select from Slave ***
740
 
sync_slave_with_master;
741
 
--replace_column 5 CURRENT_TIMESTAMP
742
 
SELECT * FROM t14 ORDER BY c1;
743
 
 
744
 
--echo *** Drop t14  ***
745
 
connection master;
746
 
DROP TABLE t14;
747
 
sync_slave_with_master;
748
 
 
749
 
##############################################################
750
 
# - Alter Master adding columns that already exist on slave. #
751
 
#  Expect: proper error message                              #
752
 
##############################################################
753
 
 
754
 
--echo *** Create t15 on slave  ***
755
 
STOP SLAVE;
756
 
RESET SLAVE;
757
 
eval CREATE TABLE t15 (c1 INT KEY, c2 DECIMAL(8,2), c3 TEXT,
758
 
                      c4 BLOB, c5 CHAR(5),
759
 
                      c6 INT DEFAULT '1',
760
 
                      c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
761
 
                      )ENGINE=$engine_type;
762
 
 
763
 
--echo *** Create t15 on Master ***
764
 
connection master;
765
 
eval CREATE TABLE t15 (c1 INT PRIMARY KEY, c2 DECIMAL(8,2), c3 TEXT,
766
 
                      c4 BLOB, c5 CHAR(5)) ENGINE=$engine_type;
767
 
RESET MASTER;
768
 
 
769
 
--echo *** Start Slave ***
770
 
connection slave;
771
 
START SLAVE;
772
 
 
773
 
--echo *** Master Data Insert ***
774
 
connection master;
775
 
set @b1 = 'b1b1b1b1';
776
 
set @b1 = concat(@b1,@b1);
777
 
INSERT INTO t15 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
778
 
                        (2,2.00,'This Test Should work',@b1,'JOE'),
779
 
                        (3,3.00,'If is does not, I will open a bug',@b1,'QA');
780
 
SELECT * FROM t15 ORDER BY c1;
781
 
 
782
 
 
783
 
--echo *** Select on Slave ****
784
 
sync_slave_with_master;
785
 
--replace_column 7 CURRENT_TIMESTAMP
786
 
SELECT * FROM t15 ORDER BY c1;
787
 
 
788
 
--echo *** Add column on master that is a Extra on Slave ***
789
 
connection master;
790
 
ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;
791
 
 
792
 
--echo ********************************************
793
 
--echo *** Expect slave to fail with Error 1060 ***
794
 
--echo ********************************************
795
 
connection slave;
796
 
--let $slave_sql_errno= 1060
797
 
--let $slave_skip_counter= 1
798
 
--let $show_slave_sql_error= 1
799
 
--source include/wait_for_slave_sql_error_and_skip.inc
800
 
 
801
 
--echo *** Try to insert in master ****
802
 
connection master;
803
 
INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
804
 
SELECT * FROM t15 ORDER BY c1;
805
 
 
806
 
#SHOW BINLOG EVENTS;
807
 
 
808
 
--echo *** Try to select from slave ****
809
 
sync_slave_with_master;
810
 
--replace_column 7 CURRENT_TIMESTAMP
811
 
SELECT * FROM t15 ORDER BY c1;
812
 
 
813
 
--echo *** DROP TABLE t15 ***
814
 
connection master;
815
 
DROP TABLE t15;
816
 
sync_slave_with_master;
817
 
 
818
 
####################################
819
 
# - Alter Master and ADD PARTITION #
820
 
#   Expect:?                       #
821
 
####################################
822
 
 
823
 
--echo *** Create t16 on slave  ***
824
 
STOP SLAVE;
825
 
RESET SLAVE;
826
 
eval CREATE TABLE t16 (c1 INT KEY, c2 DECIMAL(8,2), c3 TEXT,
827
 
                      c4 BLOB, c5 CHAR(5),
828
 
                      c6 INT DEFAULT '1',
829
 
                      c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
830
 
                      )ENGINE=$engine_type;
831
 
 
832
 
--echo *** Create t16 on Master ***
833
 
connection master;
834
 
eval CREATE TABLE t16 (c1 INT PRIMARY KEY, c2 DECIMAL(8,2), c3 TEXT,
835
 
                      c4 BLOB, c5 CHAR(5))ENGINE=$engine_type;
836
 
RESET MASTER;
837
 
 
838
 
--echo *** Start Slave ***
839
 
connection slave;
840
 
START SLAVE;
841
 
 
842
 
--echo *** Master Data Insert ***
843
 
connection master;
844
 
set @b1 = 'b1b1b1b1';
845
 
set @b1 = concat(@b1,@b1);
846
 
INSERT INTO t16 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
847
 
                        (2,2.00,'This Test Should work',@b1,'JOE'),
848
 
                        (3,3.00,'If is does not, I will open a bug',@b1,'QA');
849
 
SELECT * FROM t16 ORDER BY c1;
850
 
 
851
 
--echo *** Select on Slave ****
852
 
sync_slave_with_master;
853
 
--replace_column 7 CURRENT_TIMESTAMP
854
 
SELECT * FROM t16 ORDER BY c1;
855
 
 
856
 
--echo *** Add Partition on master ***
857
 
connection master;
858
 
ALTER TABLE t16 PARTITION BY KEY(c1) PARTITIONS 4;
859
 
INSERT INTO t16 () VALUES(4,1.00,'Replication Rocks',@b1,'Omer');
860
 
SHOW CREATE TABLE t16;
861
 
 
862
 
--echo *** Show table on Slave ****
863
 
sync_slave_with_master;
864
 
SHOW CREATE TABLE t16;
865
 
 
866
 
--echo *** DROP TABLE t16 ***
867
 
connection master;
868
 
DROP TABLE t16;
869
 
sync_slave_with_master;
870
 
 
871
 
--echo *** Alter Master End ***
872
 
 
873
 
############################################
874
 
### Try to replicate BIGINT to SMALLINT ###
875
 
### Should Stop Slave                   ###
876
 
############################################
877
 
 
878
 
--echo *** Create t17 on slave  ***
879
 
STOP SLAVE;
880
 
RESET SLAVE;
881
 
eval CREATE TABLE t17 (a SMALLINT, b INT PRIMARY KEY, c CHAR(5),
882
 
                      d FLOAT DEFAULT '2.00',
883
 
                      e CHAR(5) DEFAULT 'TEST2')
884
 
                      ENGINE=$engine_type;
885
 
 
886
 
--echo *** Create t17 on Master ***
887
 
connection master;
888
 
eval CREATE TABLE t17 (a BIGINT PRIMARY KEY, b INT, c CHAR(10)
889
 
                       ) ENGINE=$engine_type;
890
 
RESET MASTER;
891
 
 
892
 
--echo *** Start Slave ***
893
 
connection slave;
894
 
START SLAVE;
895
 
 
896
 
--echo *** Master Data Insert ***
897
 
connection master;
898
 
 
899
 
INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');
900
 
 
901
 
--echo ********************************************
902
 
--echo *** Expect slave to fail with Error 1535 ***
903
 
--echo ********************************************
904
 
connection slave;
905
 
--let $slave_sql_errno= 1535
906
 
--let $slave_skip_counter= 2
907
 
--let $show_slave_sql_error= 1
908
 
--source include/wait_for_slave_sql_error_and_skip.inc
909
 
 
910
 
--echo ** DROP table t17 ***
911
 
connection master;
912
 
DROP TABLE t17;
913
 
sync_slave_with_master;
914
 
 
915
 
#### Clean Up ####
916
 
--disable_warnings
917
 
--disable_query_log
918
 
connection master;
919
 
DROP TABLE IF EXISTS t1, t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t14a,t15,t16,t17;
920
 
sync_slave_with_master;
921
 
connection master;
922
 
--enable_query_log
923
 
--enable_warnings
924
 
 
925
 
# END 5.1 Test Case
926
 
 
927