~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
stop slave;
2
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
3
reset master;
4
reset slave;
5
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
6
start slave;
7
DROP TABLE IF EXISTS t1;
8
DROP TABLE IF EXISTS t2;
9
DROP TABLE IF EXISTS t3;
10
create table t1 (a int auto_increment, primary key (a), b int, rand_value double not null);
11
create table t2 (a int auto_increment, primary key (a), b int);
12
create table t3 (a int auto_increment, primary key (a), name varchar(64) not null, old_a int, old_b int, rand_value double not null);
13
create trigger t1 before insert on t1 for each row
14
begin
15
insert into t3 values (NULL, "t1", new.a, new.b, rand());
16
end|
17
create trigger t2 after insert on t2 for each row
18
begin
19
insert into t3 values (NULL, "t2", new.a, new.b, rand());
20
end|
21
insert into t3 values(100,"log",0,0,0);
22
SET @@RAND_SEED1=658490765, @@RAND_SEED2=635893186;
23
insert into t1 values(1,1,rand()),(NULL,2,rand());
24
insert into t2 (b) values(last_insert_id());
25
insert into t2 values(3,0),(NULL,0);
26
insert into t2 values(NULL,0),(500,0);
27
select a,b, truncate(rand_value,4) from t1;
28
a	b	truncate(rand_value,4)
29
1	1	0.4320
30
2	2	0.3055
31
select * from t2;
32
a	b
33
1	2
34
3	0
35
4	0
36
5	0
37
500	0
38
select a,name, old_a, old_b, truncate(rand_value,4) from t3;
39
a	name	old_a	old_b	truncate(rand_value,4)
40
100	log	0	0	0.0000
41
101	t1	1	1	0.3203
42
102	t1	0	2	0.5666
43
103	t2	1	2	0.9164
44
104	t2	3	0	0.8826
45
105	t2	4	0	0.6635
46
106	t2	5	0	0.6699
47
107	t2	500	0	0.3593
48
49
--- On slave --
50
select a,b, truncate(rand_value,4) from t1;
51
a	b	truncate(rand_value,4)
52
1	1	0.4320
53
2	2	0.3055
54
select * from t2;
55
a	b
56
1	2
57
3	0
58
4	0
59
5	0
60
500	0
61
select a,name, old_a, old_b, truncate(rand_value,4) from t3;
62
a	name	old_a	old_b	truncate(rand_value,4)
63
100	log	0	0	0.0000
64
101	t1	1	1	0.3203
65
102	t1	0	2	0.5666
66
103	t2	1	2	0.9164
67
104	t2	3	0	0.8826
68
105	t2	4	0	0.6635
69
106	t2	5	0	0.6699
70
107	t2	500	0	0.3593
71
drop table t1,t2,t3;
72
select get_lock("bug12480",2);
73
get_lock("bug12480",2)
74
1
75
create table t1 (a datetime,b  datetime, c datetime);
76
drop function if exists bug12480;
77
create function bug12480() returns datetime
78
begin
79
set @a=get_lock("bug12480",2);
80
return now();
81
end|
82
create trigger t1_first before insert on t1
83
for each row begin
84
set @a=get_lock("bug12480",2);
85
set new.b= now();
86
set new.c= bug12480();
87
end
88
|
89
insert into t1 set a = now();
90
select a=b && a=c from t1;
91
a=b && a=c
92
1
93
SELECT routine_name, definer
94
FROM information_schema.routines
95
WHERE routine_name = 'bug12480';
96
routine_name	definer
97
bug12480	root@localhost
98
SELECT trigger_name, definer
99
FROM information_schema.triggers
100
WHERE trigger_name = 't1_first';
101
trigger_name	definer
102
t1_first	root@localhost
103
104
--- On slave --
105
SELECT routine_name, definer
106
FROM information_schema.routines
107
WHERE routine_name = 'bug12480';
108
routine_name	definer
109
bug12480	root@localhost
110
SELECT trigger_name, definer
111
FROM information_schema.triggers
112
WHERE trigger_name = 't1_first';
113
trigger_name	definer
114
t1_first	root@localhost
115
select a=b && a=c from t1;
116
a=b && a=c
117
1
118
test
119
1
120
truncate table t1;
121
drop trigger t1_first;
122
insert into t1 values ("2003-03-03","2003-03-03","2003-03-03"),(bug12480(),bug12480(),bug12480()),(now(),now(),now());
123
select a=b && a=c from t1;
124
a=b && a=c
125
1
126
1
127
1
128
drop function bug12480;
129
drop table t1;
130
create table t1 (i int);
131
create table t2 (i int);
132
create trigger tr1 before insert on t1 for each row
133
begin
134
insert into t2 values (1);
135
end|
136
create database other;
137
use other;
138
insert into test.t1 values (1);
139
use test;
140
drop table t1,t2;
141
drop database other;
142
test case for BUG#13227
143
-------------------
144
10
145
-------------------
146
drop table if exists t110;
147
drop table if exists t210,t310;
148
create table t110 (f1 int)  /* 2 replicate */;
149
insert into t110 values (-5);
150
insert into t110 values (-4);
151
insert into t110 values (-3);
152
insert into t110 values (-2);
153
insert into t110 values (-1);
154
select * from t110;
155
f1
156
-5
157
-4
158
-3
159
-2
160
-1
161
create trigger trg110 before update on t110 /* slave local */
162
for each row
163
begin
164
DECLARE r integer;
165
SELECT f2 INTO r FROM t210 where f1=NEW.f1;
166
INSERT INTO t310 values (r);
167
end|
168
create table t210 (f1 int, f2 int) /* slave local */;
169
create table t310 (f3 int) /* slave local */;
170
insert into t210 values (5, 5*100);
171
insert into t210 values (4, 4*100);
172
insert into t210 values (3, 3*100);
173
insert into t210 values (2, 2*100);
174
insert into t210 values (1, 1*100);
175
select * from t210;
176
f1	f2
177
5	500
178
4	400
179
3	300
180
2	200
181
1	100
182
UPDATE t110 SET f1=5 where f1=-5;
183
SELECT * from t110 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
184
f1
185
5
186
-4
187
-3
188
-2
189
-1
190
SELECT * from t310 /* must be f3 5*100 */;
191
f3
192
500
193
UPDATE t110 SET f1=5 where f1=-5;
194
UPDATE t110 SET f1=4 where f1=-4;
195
UPDATE t110 SET f1=3 where f1=-3;
196
UPDATE t110 SET f1=2 where f1=-2;
197
UPDATE t110 SET f1=1 where f1=-1;
198
SELECT * from t110 /* must be f1 5 ... 1 */;
199
f1
200
5
201
4
202
3
203
2
204
1
205
SELECT * from t310 /* must be f3 5 * 100 ...  100 */;
206
f3
207
500
208
400
209
300
210
200
211
100
212
drop trigger trg110;
213
drop table t210,t310;
214
drop table t110;
215
-------------------
216
9
217
-------------------
218
drop table if exists t19;
219
drop table if exists t29,t39;
220
create table t19 (f1 int)  /* 2 replicate */;
221
insert into t19 values (-5);
222
insert into t19 values (-4);
223
insert into t19 values (-3);
224
insert into t19 values (-2);
225
insert into t19 values (-1);
226
select * from t19;
227
f1
228
-5
229
-4
230
-3
231
-2
232
-1
233
create trigger trg19 before update on t19 /* slave local */
234
for each row
235
begin
236
DECLARE r integer;
237
SELECT f2 INTO r FROM t29 where f1=NEW.f1;
238
INSERT INTO t39 values (r);
239
end|
240
create table t29 (f1 int, f2 int) /* slave local */;
241
create table t39 (f3 int) /* slave local */;
242
insert into t29 values (5, 5*100);
243
insert into t29 values (4, 4*100);
244
insert into t29 values (3, 3*100);
245
insert into t29 values (2, 2*100);
246
insert into t29 values (1, 1*100);
247
select * from t29;
248
f1	f2
249
5	500
250
4	400
251
3	300
252
2	200
253
1	100
254
UPDATE t19 SET f1=5 where f1=-5;
255
SELECT * from t19 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
256
f1
257
5
258
-4
259
-3
260
-2
261
-1
262
SELECT * from t39 /* must be f3 5*100 */;
263
f3
264
500
265
UPDATE t19 SET f1=5 where f1=-5;
266
UPDATE t19 SET f1=4 where f1=-4;
267
UPDATE t19 SET f1=3 where f1=-3;
268
UPDATE t19 SET f1=2 where f1=-2;
269
UPDATE t19 SET f1=1 where f1=-1;
270
SELECT * from t19 /* must be f1 5 ... 1 */;
271
f1
272
5
273
4
274
3
275
2
276
1
277
SELECT * from t39 /* must be f3 5 * 100 ...  100 */;
278
f3
279
500
280
400
281
300
282
200
283
100
284
drop trigger trg19;
285
drop table t29,t39;
286
drop table t19;
287
-------------------
288
8
289
-------------------
290
drop table if exists t18;
291
drop table if exists t28,t38;
292
create table t18 (f1 int)  /* 2 replicate */;
293
insert into t18 values (-5);
294
insert into t18 values (-4);
295
insert into t18 values (-3);
296
insert into t18 values (-2);
297
insert into t18 values (-1);
298
select * from t18;
299
f1
300
-5
301
-4
302
-3
303
-2
304
-1
305
create trigger trg18 before update on t18 /* slave local */
306
for each row
307
begin
308
DECLARE r integer;
309
SELECT f2 INTO r FROM t28 where f1=NEW.f1;
310
INSERT INTO t38 values (r);
311
end|
312
create table t28 (f1 int, f2 int) /* slave local */;
313
create table t38 (f3 int) /* slave local */;
314
insert into t28 values (5, 5*100);
315
insert into t28 values (4, 4*100);
316
insert into t28 values (3, 3*100);
317
insert into t28 values (2, 2*100);
318
insert into t28 values (1, 1*100);
319
select * from t28;
320
f1	f2
321
5	500
322
4	400
323
3	300
324
2	200
325
1	100
326
UPDATE t18 SET f1=5 where f1=-5;
327
SELECT * from t18 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
328
f1
329
5
330
-4
331
-3
332
-2
333
-1
334
SELECT * from t38 /* must be f3 5*100 */;
335
f3
336
500
337
UPDATE t18 SET f1=5 where f1=-5;
338
UPDATE t18 SET f1=4 where f1=-4;
339
UPDATE t18 SET f1=3 where f1=-3;
340
UPDATE t18 SET f1=2 where f1=-2;
341
UPDATE t18 SET f1=1 where f1=-1;
342
SELECT * from t18 /* must be f1 5 ... 1 */;
343
f1
344
5
345
4
346
3
347
2
348
1
349
SELECT * from t38 /* must be f3 5 * 100 ...  100 */;
350
f3
351
500
352
400
353
300
354
200
355
100
356
drop trigger trg18;
357
drop table t28,t38;
358
drop table t18;
359
-------------------
360
7
361
-------------------
362
drop table if exists t17;
363
drop table if exists t27,t37;
364
create table t17 (f1 int)  /* 2 replicate */;
365
insert into t17 values (-5);
366
insert into t17 values (-4);
367
insert into t17 values (-3);
368
insert into t17 values (-2);
369
insert into t17 values (-1);
370
select * from t17;
371
f1
372
-5
373
-4
374
-3
375
-2
376
-1
377
create trigger trg17 before update on t17 /* slave local */
378
for each row
379
begin
380
DECLARE r integer;
381
SELECT f2 INTO r FROM t27 where f1=NEW.f1;
382
INSERT INTO t37 values (r);
383
end|
384
create table t27 (f1 int, f2 int) /* slave local */;
385
create table t37 (f3 int) /* slave local */;
386
insert into t27 values (5, 5*100);
387
insert into t27 values (4, 4*100);
388
insert into t27 values (3, 3*100);
389
insert into t27 values (2, 2*100);
390
insert into t27 values (1, 1*100);
391
select * from t27;
392
f1	f2
393
5	500
394
4	400
395
3	300
396
2	200
397
1	100
398
UPDATE t17 SET f1=5 where f1=-5;
399
SELECT * from t17 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
400
f1
401
5
402
-4
403
-3
404
-2
405
-1
406
SELECT * from t37 /* must be f3 5*100 */;
407
f3
408
500
409
UPDATE t17 SET f1=5 where f1=-5;
410
UPDATE t17 SET f1=4 where f1=-4;
411
UPDATE t17 SET f1=3 where f1=-3;
412
UPDATE t17 SET f1=2 where f1=-2;
413
UPDATE t17 SET f1=1 where f1=-1;
414
SELECT * from t17 /* must be f1 5 ... 1 */;
415
f1
416
5
417
4
418
3
419
2
420
1
421
SELECT * from t37 /* must be f3 5 * 100 ...  100 */;
422
f3
423
500
424
400
425
300
426
200
427
100
428
drop trigger trg17;
429
drop table t27,t37;
430
drop table t17;
431
-------------------
432
6
433
-------------------
434
drop table if exists t16;
435
drop table if exists t26,t36;
436
create table t16 (f1 int)  /* 2 replicate */;
437
insert into t16 values (-5);
438
insert into t16 values (-4);
439
insert into t16 values (-3);
440
insert into t16 values (-2);
441
insert into t16 values (-1);
442
select * from t16;
443
f1
444
-5
445
-4
446
-3
447
-2
448
-1
449
create trigger trg16 before update on t16 /* slave local */
450
for each row
451
begin
452
DECLARE r integer;
453
SELECT f2 INTO r FROM t26 where f1=NEW.f1;
454
INSERT INTO t36 values (r);
455
end|
456
create table t26 (f1 int, f2 int) /* slave local */;
457
create table t36 (f3 int) /* slave local */;
458
insert into t26 values (5, 5*100);
459
insert into t26 values (4, 4*100);
460
insert into t26 values (3, 3*100);
461
insert into t26 values (2, 2*100);
462
insert into t26 values (1, 1*100);
463
select * from t26;
464
f1	f2
465
5	500
466
4	400
467
3	300
468
2	200
469
1	100
470
UPDATE t16 SET f1=5 where f1=-5;
471
SELECT * from t16 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
472
f1
473
5
474
-4
475
-3
476
-2
477
-1
478
SELECT * from t36 /* must be f3 5*100 */;
479
f3
480
500
481
UPDATE t16 SET f1=5 where f1=-5;
482
UPDATE t16 SET f1=4 where f1=-4;
483
UPDATE t16 SET f1=3 where f1=-3;
484
UPDATE t16 SET f1=2 where f1=-2;
485
UPDATE t16 SET f1=1 where f1=-1;
486
SELECT * from t16 /* must be f1 5 ... 1 */;
487
f1
488
5
489
4
490
3
491
2
492
1
493
SELECT * from t36 /* must be f3 5 * 100 ...  100 */;
494
f3
495
500
496
400
497
300
498
200
499
100
500
drop trigger trg16;
501
drop table t26,t36;
502
drop table t16;
503
-------------------
504
5
505
-------------------
506
drop table if exists t15;
507
drop table if exists t25,t35;
508
create table t15 (f1 int)  /* 2 replicate */;
509
insert into t15 values (-5);
510
insert into t15 values (-4);
511
insert into t15 values (-3);
512
insert into t15 values (-2);
513
insert into t15 values (-1);
514
select * from t15;
515
f1
516
-5
517
-4
518
-3
519
-2
520
-1
521
create trigger trg15 before update on t15 /* slave local */
522
for each row
523
begin
524
DECLARE r integer;
525
SELECT f2 INTO r FROM t25 where f1=NEW.f1;
526
INSERT INTO t35 values (r);
527
end|
528
create table t25 (f1 int, f2 int) /* slave local */;
529
create table t35 (f3 int) /* slave local */;
530
insert into t25 values (5, 5*100);
531
insert into t25 values (4, 4*100);
532
insert into t25 values (3, 3*100);
533
insert into t25 values (2, 2*100);
534
insert into t25 values (1, 1*100);
535
select * from t25;
536
f1	f2
537
5	500
538
4	400
539
3	300
540
2	200
541
1	100
542
UPDATE t15 SET f1=5 where f1=-5;
543
SELECT * from t15 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
544
f1
545
5
546
-4
547
-3
548
-2
549
-1
550
SELECT * from t35 /* must be f3 5*100 */;
551
f3
552
500
553
UPDATE t15 SET f1=5 where f1=-5;
554
UPDATE t15 SET f1=4 where f1=-4;
555
UPDATE t15 SET f1=3 where f1=-3;
556
UPDATE t15 SET f1=2 where f1=-2;
557
UPDATE t15 SET f1=1 where f1=-1;
558
SELECT * from t15 /* must be f1 5 ... 1 */;
559
f1
560
5
561
4
562
3
563
2
564
1
565
SELECT * from t35 /* must be f3 5 * 100 ...  100 */;
566
f3
567
500
568
400
569
300
570
200
571
100
572
drop trigger trg15;
573
drop table t25,t35;
574
drop table t15;
575
-------------------
576
4
577
-------------------
578
drop table if exists t14;
579
drop table if exists t24,t34;
580
create table t14 (f1 int)  /* 2 replicate */;
581
insert into t14 values (-5);
582
insert into t14 values (-4);
583
insert into t14 values (-3);
584
insert into t14 values (-2);
585
insert into t14 values (-1);
586
select * from t14;
587
f1
588
-5
589
-4
590
-3
591
-2
592
-1
593
create trigger trg14 before update on t14 /* slave local */
594
for each row
595
begin
596
DECLARE r integer;
597
SELECT f2 INTO r FROM t24 where f1=NEW.f1;
598
INSERT INTO t34 values (r);
599
end|
600
create table t24 (f1 int, f2 int) /* slave local */;
601
create table t34 (f3 int) /* slave local */;
602
insert into t24 values (5, 5*100);
603
insert into t24 values (4, 4*100);
604
insert into t24 values (3, 3*100);
605
insert into t24 values (2, 2*100);
606
insert into t24 values (1, 1*100);
607
select * from t24;
608
f1	f2
609
5	500
610
4	400
611
3	300
612
2	200
613
1	100
614
UPDATE t14 SET f1=5 where f1=-5;
615
SELECT * from t14 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
616
f1
617
5
618
-4
619
-3
620
-2
621
-1
622
SELECT * from t34 /* must be f3 5*100 */;
623
f3
624
500
625
UPDATE t14 SET f1=5 where f1=-5;
626
UPDATE t14 SET f1=4 where f1=-4;
627
UPDATE t14 SET f1=3 where f1=-3;
628
UPDATE t14 SET f1=2 where f1=-2;
629
UPDATE t14 SET f1=1 where f1=-1;
630
SELECT * from t14 /* must be f1 5 ... 1 */;
631
f1
632
5
633
4
634
3
635
2
636
1
637
SELECT * from t34 /* must be f3 5 * 100 ...  100 */;
638
f3
639
500
640
400
641
300
642
200
643
100
644
drop trigger trg14;
645
drop table t24,t34;
646
drop table t14;
647
-------------------
648
3
649
-------------------
650
drop table if exists t13;
651
drop table if exists t23,t33;
652
create table t13 (f1 int)  /* 2 replicate */;
653
insert into t13 values (-5);
654
insert into t13 values (-4);
655
insert into t13 values (-3);
656
insert into t13 values (-2);
657
insert into t13 values (-1);
658
select * from t13;
659
f1
660
-5
661
-4
662
-3
663
-2
664
-1
665
create trigger trg13 before update on t13 /* slave local */
666
for each row
667
begin
668
DECLARE r integer;
669
SELECT f2 INTO r FROM t23 where f1=NEW.f1;
670
INSERT INTO t33 values (r);
671
end|
672
create table t23 (f1 int, f2 int) /* slave local */;
673
create table t33 (f3 int) /* slave local */;
674
insert into t23 values (5, 5*100);
675
insert into t23 values (4, 4*100);
676
insert into t23 values (3, 3*100);
677
insert into t23 values (2, 2*100);
678
insert into t23 values (1, 1*100);
679
select * from t23;
680
f1	f2
681
5	500
682
4	400
683
3	300
684
2	200
685
1	100
686
UPDATE t13 SET f1=5 where f1=-5;
687
SELECT * from t13 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
688
f1
689
5
690
-4
691
-3
692
-2
693
-1
694
SELECT * from t33 /* must be f3 5*100 */;
695
f3
696
500
697
UPDATE t13 SET f1=5 where f1=-5;
698
UPDATE t13 SET f1=4 where f1=-4;
699
UPDATE t13 SET f1=3 where f1=-3;
700
UPDATE t13 SET f1=2 where f1=-2;
701
UPDATE t13 SET f1=1 where f1=-1;
702
SELECT * from t13 /* must be f1 5 ... 1 */;
703
f1
704
5
705
4
706
3
707
2
708
1
709
SELECT * from t33 /* must be f3 5 * 100 ...  100 */;
710
f3
711
500
712
400
713
300
714
200
715
100
716
drop trigger trg13;
717
drop table t23,t33;
718
drop table t13;
719
-------------------
720
2
721
-------------------
722
drop table if exists t12;
723
drop table if exists t22,t32;
724
create table t12 (f1 int)  /* 2 replicate */;
725
insert into t12 values (-5);
726
insert into t12 values (-4);
727
insert into t12 values (-3);
728
insert into t12 values (-2);
729
insert into t12 values (-1);
730
select * from t12;
731
f1
732
-5
733
-4
734
-3
735
-2
736
-1
737
create trigger trg12 before update on t12 /* slave local */
738
for each row
739
begin
740
DECLARE r integer;
741
SELECT f2 INTO r FROM t22 where f1=NEW.f1;
742
INSERT INTO t32 values (r);
743
end|
744
create table t22 (f1 int, f2 int) /* slave local */;
745
create table t32 (f3 int) /* slave local */;
746
insert into t22 values (5, 5*100);
747
insert into t22 values (4, 4*100);
748
insert into t22 values (3, 3*100);
749
insert into t22 values (2, 2*100);
750
insert into t22 values (1, 1*100);
751
select * from t22;
752
f1	f2
753
5	500
754
4	400
755
3	300
756
2	200
757
1	100
758
UPDATE t12 SET f1=5 where f1=-5;
759
SELECT * from t12 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
760
f1
761
5
762
-4
763
-3
764
-2
765
-1
766
SELECT * from t32 /* must be f3 5*100 */;
767
f3
768
500
769
UPDATE t12 SET f1=5 where f1=-5;
770
UPDATE t12 SET f1=4 where f1=-4;
771
UPDATE t12 SET f1=3 where f1=-3;
772
UPDATE t12 SET f1=2 where f1=-2;
773
UPDATE t12 SET f1=1 where f1=-1;
774
SELECT * from t12 /* must be f1 5 ... 1 */;
775
f1
776
5
777
4
778
3
779
2
780
1
781
SELECT * from t32 /* must be f3 5 * 100 ...  100 */;
782
f3
783
500
784
400
785
300
786
200
787
100
788
drop trigger trg12;
789
drop table t22,t32;
790
drop table t12;
791
-------------------
792
1
793
-------------------
794
drop table if exists t11;
795
drop table if exists t21,t31;
796
create table t11 (f1 int)  /* 2 replicate */;
797
insert into t11 values (-5);
798
insert into t11 values (-4);
799
insert into t11 values (-3);
800
insert into t11 values (-2);
801
insert into t11 values (-1);
802
select * from t11;
803
f1
804
-5
805
-4
806
-3
807
-2
808
-1
809
create trigger trg11 before update on t11 /* slave local */
810
for each row
811
begin
812
DECLARE r integer;
813
SELECT f2 INTO r FROM t21 where f1=NEW.f1;
814
INSERT INTO t31 values (r);
815
end|
816
create table t21 (f1 int, f2 int) /* slave local */;
817
create table t31 (f3 int) /* slave local */;
818
insert into t21 values (5, 5*100);
819
insert into t21 values (4, 4*100);
820
insert into t21 values (3, 3*100);
821
insert into t21 values (2, 2*100);
822
insert into t21 values (1, 1*100);
823
select * from t21;
824
f1	f2
825
5	500
826
4	400
827
3	300
828
2	200
829
1	100
830
UPDATE t11 SET f1=5 where f1=-5;
831
SELECT * from t11 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
832
f1
833
5
834
-4
835
-3
836
-2
837
-1
838
SELECT * from t31 /* must be f3 5*100 */;
839
f3
840
500
841
UPDATE t11 SET f1=5 where f1=-5;
842
UPDATE t11 SET f1=4 where f1=-4;
843
UPDATE t11 SET f1=3 where f1=-3;
844
UPDATE t11 SET f1=2 where f1=-2;
845
UPDATE t11 SET f1=1 where f1=-1;
846
SELECT * from t11 /* must be f1 5 ... 1 */;
847
f1
848
5
849
4
850
3
851
2
852
1
853
SELECT * from t31 /* must be f3 5 * 100 ...  100 */;
854
f3
855
500
856
400
857
300
858
200
859
100
860
drop trigger trg11;
861
drop table t21,t31;
862
drop table t11;
863
STOP SLAVE;
864
FLUSH LOGS;
865
RESET SLAVE;
866
START SLAVE;
867
SELECT MASTER_POS_WAIT('master-bin.000001', 513) >= 0;
868
MASTER_POS_WAIT('master-bin.000001', 513) >= 0
869
1
870
SHOW TABLES LIKE 't_';
871
Tables_in_test (t_)
872
t1
873
t2
874
SHOW TRIGGERS;
875
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
876
trg1	INSERT	t1	INSERT INTO t2 VALUES(CURRENT_USER())	AFTER	NULL			latin1	latin1_swedish_ci	latin1_swedish_ci
877
SELECT * FROM t1;
878
c
879
1
880
SELECT * FROM t2;
881
s
882
@
883
INSERT INTO t1 VALUES(2);
884
SELECT * FROM t1;
885
c
886
1
887
2
888
SELECT * FROM t2;
889
s
890
@
891
root@localhost
892
DROP TRIGGER trg1;
893
Warnings:
894
Warning	1454	No definer attribute for trigger 'test'.'trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.
895
DROP TABLE t1;
896
DROP TABLE t2;
897
STOP SLAVE;
898
RESET SLAVE;
899
SHOW TABLES LIKE 't_';
900
Tables_in_test (t_)
901
SHOW TRIGGERS;
902
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
903
RESET MASTER;
904
START SLAVE;
905
906
---> Test for BUG#20438
907
908
---> Preparing environment...
909
---> connection: master
910
DROP TABLE IF EXISTS t1;
911
DROP TABLE IF EXISTS t2;
912
913
---> Synchronizing slave with master...
914
915
---> connection: master
916
917
---> Creating objects...
918
CREATE TABLE t1(c INT);
919
CREATE TABLE t2(c INT);
920
/*!50003 CREATE TRIGGER t1_bi BEFORE INSERT ON t1
921
FOR EACH ROW
922
INSERT INTO t2 VALUES(NEW.c * 10) */;
923
924
---> Inserting value...
925
INSERT INTO t1 VALUES(1);
926
927
---> Checking on master...
928
SELECT * FROM t1;
929
c
930
1
931
SELECT * FROM t2;
932
c
933
10
934
935
---> Synchronizing slave with master...
936
---> connection: master
937
938
---> Checking on slave...
939
SELECT * FROM t1;
940
c
941
1
942
SELECT * FROM t2;
943
c
944
10
945
946
---> connection: master
947
948
---> Cleaning up...
949
DROP TABLE t1;
950
DROP TABLE t2;
951
drop table if exists t1;
952
create table t1(a int, b varchar(50));
953
drop trigger not_a_trigger;
954
ERROR HY000: Trigger does not exist
955
drop trigger if exists not_a_trigger;
956
Warnings:
957
Note	1360	Trigger does not exist
958
create trigger t1_bi before insert on t1
959
for each row set NEW.b := "In trigger t1_bi";
960
insert into t1 values (1, "a");
961
drop trigger if exists t1_bi;
962
insert into t1 values (2, "b");
963
drop trigger if exists t1_bi;
964
Warnings:
965
Note	1360	Trigger does not exist
966
insert into t1 values (3, "c");
967
select * from t1;
968
a	b
969
1	In trigger t1_bi
970
2	b
971
3	c
972
select * from t1;
973
a	b
974
1	In trigger t1_bi
975
2	b
976
3	c
977
drop table t1;