summaryrefslogtreecommitdiff
path: root/mysql-test/main/trigger.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/trigger.test')
-rw-r--r--mysql-test/main/trigger.test51
1 files changed, 50 insertions, 1 deletions
diff --git a/mysql-test/main/trigger.test b/mysql-test/main/trigger.test
index 1d51de7155c..32827975e14 100644
--- a/mysql-test/main/trigger.test
+++ b/mysql-test/main/trigger.test
@@ -761,6 +761,7 @@ drop table t1;
create table t1 (id int, data int, username varchar(16));
insert into t1 (id, data) values (1, 0);
+--enable_prepare_warnings
delimiter |;
create trigger t1_whoupdated before update on t1 for each row
begin
@@ -771,6 +772,7 @@ begin
select count(*) from ((select 1) union (select 2)) as d1 into i;
end|
delimiter ;|
+--disable_prepare_warnings
update t1 set data = 1;
connection addconroot1;
@@ -1413,7 +1415,7 @@ CREATE DEFINER=longer_than_80_45678901234567890123456789012345678901234567890123
TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a = 1;
--error ER_WRONG_STRING_LENGTH
-CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
+CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYsome_user_name1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTYvvv234567890abcdefghijQWERTYvvvjdnkjfbewfjefnkejfnejfnERTYvvvjdnkjfbewfjefnkejfnejfn
TRIGGER t2_bi BEFORE INSERT ON t2 FOR EACH ROW SET @a = 2;
# Cleanup.
@@ -2343,6 +2345,7 @@ DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (b VARCHAR(50) NOT NULL);
CREATE TABLE t2 (a VARCHAR(10) NOT NULL DEFAULT '');
+--enable_prepare_warnings
delimiter //;
CREATE TRIGGER trg1 AFTER INSERT ON t2
FOR EACH ROW BEGIN
@@ -2350,6 +2353,7 @@ FOR EACH ROW BEGIN
(@bug51650 IS NULL OR @bug51650 != c.b) AND c.b = NEW.a LIMIT 1 INTO @foo;
END//
delimiter ;//
+--disable_prepare_warnings
SET @bug51650 = 1;
INSERT IGNORE INTO t2 VALUES();
@@ -2790,3 +2794,48 @@ DROP TABLE t1;
--echo #
--echo # End of 10.3 tests
--echo #
+
+--echo #
+--echo # Test dropping orphan .trn file
+--echo #
+
+let $MYSQLD_DATADIR= `select @@datadir`;
+
+create table t1 (a int);
+delimiter |;
+create trigger t1_trg before insert on t1 for each row
+begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+end|
+delimiter ;|
+insert into t1 values (null);
+select * from t1;
+
+--copy_file $MYSQLD_DATADIR/test/t1_trg.TRN $MYSQLD_DATADIR/test/t1_trg.TMP
+drop table t1;
+--copy_file $MYSQLD_DATADIR/test/t1_trg.TMP $MYSQLD_DATADIR/test/t1_trg.TRN
+drop trigger t1_trg;
+create table t1 (a int);
+--copy_file $MYSQLD_DATADIR/test/t1_trg.TMP $MYSQLD_DATADIR/test/t1_trg.TRN
+drop trigger t1_trg;
+
+# Test creating an additonal trigger for t1, but with different names
+delimiter |;
+create trigger t1_trg_2 before insert on t1 for each row
+begin
+ if isnull(new.a) then
+ set new.a:= 1000;
+ end if;
+end|
+delimiter ;|
+--copy_file $MYSQLD_DATADIR/test/t1_trg.TMP $MYSQLD_DATADIR/test/t1_trg.TRN
+drop trigger t1_trg;
+drop trigger t1_trg_2;
+drop table t1;
+--remove_file $MYSQLD_DATADIR/test/t1_trg.TMP
+
+--echo #
+--echo # End of 10.6 tests
+--echo #