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;
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
15
insert into t3 values (NULL, "t1", new.a, new.b, rand());
17
create trigger t2 after insert on t2 for each row
19
insert into t3 values (NULL, "t2", new.a, new.b, rand());
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)
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)
50
select a,b, truncate(rand_value,4) from t1;
51
a b truncate(rand_value,4)
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)
72
select get_lock("bug12480",2);
73
get_lock("bug12480",2)
75
create table t1 (a datetime,b datetime, c datetime);
76
drop function if exists bug12480;
77
create function bug12480() returns datetime
79
set @a=get_lock("bug12480",2);
82
create trigger t1_first before insert on t1
84
set @a=get_lock("bug12480",2);
86
set new.c= bug12480();
89
insert into t1 set a = now();
90
select a=b && a=c from t1;
93
SELECT routine_name, definer
94
FROM information_schema.routines
95
WHERE routine_name = 'bug12480';
97
bug12480 root@localhost
98
SELECT trigger_name, definer
99
FROM information_schema.triggers
100
WHERE trigger_name = 't1_first';
102
t1_first root@localhost
105
SELECT routine_name, definer
106
FROM information_schema.routines
107
WHERE routine_name = 'bug12480';
109
bug12480 root@localhost
110
SELECT trigger_name, definer
111
FROM information_schema.triggers
112
WHERE trigger_name = 't1_first';
114
t1_first root@localhost
115
select a=b && a=c from 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;
128
drop function bug12480;
130
create table t1 (i int);
131
create table t2 (i int);
132
create trigger tr1 before insert on t1 for each row
134
insert into t2 values (1);
136
create database other;
138
insert into test.t1 values (1);
142
test case for BUG#13227
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);
161
create trigger trg110 before update on t110 /* slave local */
165
SELECT f2 INTO r FROM t210 where f1=NEW.f1;
166
INSERT INTO t310 values (r);
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);
182
UPDATE t110 SET f1=5 where f1=-5;
183
SELECT * from t110 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
190
SELECT * from t310 /* must be f3 5*100 */;
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 */;
205
SELECT * from t310 /* must be f3 5 * 100 ... 100 */;
213
drop table t210,t310;
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);
233
create trigger trg19 before update on t19 /* slave local */
237
SELECT f2 INTO r FROM t29 where f1=NEW.f1;
238
INSERT INTO t39 values (r);
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);
254
UPDATE t19 SET f1=5 where f1=-5;
255
SELECT * from t19 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
262
SELECT * from t39 /* must be f3 5*100 */;
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 */;
277
SELECT * from t39 /* must be f3 5 * 100 ... 100 */;
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);
305
create trigger trg18 before update on t18 /* slave local */
309
SELECT f2 INTO r FROM t28 where f1=NEW.f1;
310
INSERT INTO t38 values (r);
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);
326
UPDATE t18 SET f1=5 where f1=-5;
327
SELECT * from t18 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
334
SELECT * from t38 /* must be f3 5*100 */;
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 */;
349
SELECT * from t38 /* must be f3 5 * 100 ... 100 */;
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);
377
create trigger trg17 before update on t17 /* slave local */
381
SELECT f2 INTO r FROM t27 where f1=NEW.f1;
382
INSERT INTO t37 values (r);
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);
398
UPDATE t17 SET f1=5 where f1=-5;
399
SELECT * from t17 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
406
SELECT * from t37 /* must be f3 5*100 */;
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 */;
421
SELECT * from t37 /* must be f3 5 * 100 ... 100 */;
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);
449
create trigger trg16 before update on t16 /* slave local */
453
SELECT f2 INTO r FROM t26 where f1=NEW.f1;
454
INSERT INTO t36 values (r);
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);
470
UPDATE t16 SET f1=5 where f1=-5;
471
SELECT * from t16 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
478
SELECT * from t36 /* must be f3 5*100 */;
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 */;
493
SELECT * from t36 /* must be f3 5 * 100 ... 100 */;
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);
521
create trigger trg15 before update on t15 /* slave local */
525
SELECT f2 INTO r FROM t25 where f1=NEW.f1;
526
INSERT INTO t35 values (r);
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);
542
UPDATE t15 SET f1=5 where f1=-5;
543
SELECT * from t15 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
550
SELECT * from t35 /* must be f3 5*100 */;
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 */;
565
SELECT * from t35 /* must be f3 5 * 100 ... 100 */;
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);
593
create trigger trg14 before update on t14 /* slave local */
597
SELECT f2 INTO r FROM t24 where f1=NEW.f1;
598
INSERT INTO t34 values (r);
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);
614
UPDATE t14 SET f1=5 where f1=-5;
615
SELECT * from t14 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
622
SELECT * from t34 /* must be f3 5*100 */;
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 */;
637
SELECT * from t34 /* must be f3 5 * 100 ... 100 */;
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);
665
create trigger trg13 before update on t13 /* slave local */
669
SELECT f2 INTO r FROM t23 where f1=NEW.f1;
670
INSERT INTO t33 values (r);
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);
686
UPDATE t13 SET f1=5 where f1=-5;
687
SELECT * from t13 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
694
SELECT * from t33 /* must be f3 5*100 */;
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 */;
709
SELECT * from t33 /* must be f3 5 * 100 ... 100 */;
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);
737
create trigger trg12 before update on t12 /* slave local */
741
SELECT f2 INTO r FROM t22 where f1=NEW.f1;
742
INSERT INTO t32 values (r);
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);
758
UPDATE t12 SET f1=5 where f1=-5;
759
SELECT * from t12 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
766
SELECT * from t32 /* must be f3 5*100 */;
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 */;
781
SELECT * from t32 /* must be f3 5 * 100 ... 100 */;
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);
809
create trigger trg11 before update on t11 /* slave local */
813
SELECT f2 INTO r FROM t21 where f1=NEW.f1;
814
INSERT INTO t31 values (r);
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);
830
UPDATE t11 SET f1=5 where f1=-5;
831
SELECT * from t11 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
838
SELECT * from t31 /* must be f3 5*100 */;
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 */;
853
SELECT * from t31 /* must be f3 5 * 100 ... 100 */;
867
SELECT MASTER_POS_WAIT('master-bin.000001', 513) >= 0;
868
MASTER_POS_WAIT('master-bin.000001', 513) >= 0
870
SHOW TABLES LIKE 't_';
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
883
INSERT INTO t1 VALUES(2);
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.
899
SHOW TABLES LIKE 't_';
902
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
906
---> Test for BUG#20438
908
---> Preparing environment...
909
---> connection: master
910
DROP TABLE IF EXISTS t1;
911
DROP TABLE IF EXISTS t2;
913
---> Synchronizing slave with master...
915
---> connection: master
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
922
INSERT INTO t2 VALUES(NEW.c * 10) */;
924
---> Inserting value...
925
INSERT INTO t1 VALUES(1);
927
---> Checking on master...
935
---> Synchronizing slave with master...
936
---> connection: master
938
---> Checking on slave...
946
---> connection: master
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;
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;
965
Note 1360 Trigger does not exist
966
insert into t1 values (3, "c");