diff options
Diffstat (limited to 'mysql-test/main/trigger.test')
-rw-r--r-- | mysql-test/main/trigger.test | 51 |
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 # |