diff options
author | unknown <dlenev@mysql.com> | 2005-08-23 09:15:05 +0400 |
---|---|---|
committer | unknown <dlenev@mysql.com> | 2005-08-23 09:15:05 +0400 |
commit | 6658fb34e5a84ac802eda476b6bdd12fbfcd9d30 (patch) | |
tree | 467166d0a2ca0bce473af30660ebeb4b83dc6792 /mysql-test/t/trigger.test | |
parent | 4be08544d528ddd9ecf0a2f13ec6c7da6943bda3 (diff) | |
parent | b1921c85ba5e1892af48df31ad38a89f65989012 (diff) | |
download | mariadb-git-6658fb34e5a84ac802eda476b6bdd12fbfcd9d30.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/dlenev/src/mysql-5.0-bg11896
mysql-test/t/sp-error.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/sql_base.cc:
Auto merged
mysql-test/r/trigger.result:
Manual merge.
sql/share/errmsg.txt:
Manual merge.
Diffstat (limited to 'mysql-test/t/trigger.test')
-rw-r--r-- | mysql-test/t/trigger.test | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mysql-test/t/trigger.test b/mysql-test/t/trigger.test index cbc9da2bf51..9920f203c94 100644 --- a/mysql-test/t/trigger.test +++ b/mysql-test/t/trigger.test @@ -729,3 +729,39 @@ select * from t1; drop procedure bug11587; drop table t1; + +# Test for bug #11896 "Partial locking in case of recursive trigger +# definitions". Recursion in triggers should not be allowed. +# We also should not allow to change tables which are used in +# statements invoking this trigger. +create table t1 (f1 integer); +create table t2 (f2 integer); +create trigger t1_ai after insert on t1 + for each row insert into t2 values (new.f1+1); +create trigger t2_ai after insert on t2 + for each row insert into t1 values (new.f2+1); +--error ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG +insert into t1 values (1); +select * from t1; +select * from t2; +drop trigger t1_ai; +drop trigger t2_ai; +create trigger t1_bu before update on t1 + for each row insert into t1 values (2); +--error ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG +update t1 set f1= 10; +select * from t1; +drop trigger t1_bu; +create trigger t1_bu before update on t1 + for each row delete from t1 where f1=new.f1; +--error ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG +update t1 set f1= 10; +select * from t1; +drop trigger t1_bu; +# This should work tough +create trigger t1_bi before insert on t1 + for each row set new.f1=(select sum(f1) from t1); +insert into t1 values (3); +select * from t1; +drop trigger t1_bi; +drop tables t1, t2; |