diff options
author | unknown <cmiller@zippy.(none)> | 2006-04-14 11:39:36 -0400 |
---|---|---|
committer | unknown <cmiller@zippy.(none)> | 2006-04-14 11:39:36 -0400 |
commit | 3e21b9d0dad908d1e0b0d414bf2186fa24e05616 (patch) | |
tree | 38241fea4f910291662947a31e9e830ba1394a7c /mysql-test/t/innodb.test | |
parent | c0b172f0b18cbd9bf03b68fb59ba7ae46ba9ef74 (diff) | |
download | mariadb-git-3e21b9d0dad908d1e0b0d414bf2186fa24e05616.tar.gz |
Hand-merged test.
Diffstat (limited to 'mysql-test/t/innodb.test')
-rw-r--r-- | mysql-test/t/innodb.test | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index b0835cd8419..63349adfd59 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -2129,6 +2129,60 @@ disconnect a; disconnect b; # +# Test that cascading updates leading to duplicate keys give the correct +# error message (bug #9680) +# + +CREATE TABLE t1 ( + field1 varchar(8) NOT NULL DEFAULT '', + field2 varchar(8) NOT NULL DEFAULT '', + PRIMARY KEY (field1, field2) +) ENGINE=InnoDB; + +CREATE TABLE t2 ( + field1 varchar(8) NOT NULL DEFAULT '' PRIMARY KEY, + FOREIGN KEY (field1) REFERENCES t1 (field1) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +INSERT INTO t1 VALUES ('old', 'somevalu'); +INSERT INTO t1 VALUES ('other', 'anyvalue'); + +INSERT INTO t2 VALUES ('old'); +INSERT INTO t2 VALUES ('other'); + +--error ER_FOREIGN_DUPLICATE_KEY +UPDATE t1 SET field1 = 'other' WHERE field2 = 'somevalu'; + +DROP TABLE t2; +DROP TABLE t1; + +# +# Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE +# +create table t1 ( + c1 bigint not null, + c2 bigint not null, + primary key (c1), + unique key (c2) +) engine=innodb; +# +create table t2 ( + c1 bigint not null, + primary key (c1) +) engine=innodb; +# +alter table t1 add constraint c2_fk foreign key (c2) + references t2(c1) on delete cascade; +show create table t1; +# +alter table t1 drop foreign key c2_fk; +show create table t1; +# +drop table t1, t2; + + +# # Bug #14360: problem with intervals # |