diff --git a/mysql-test/include/mix1.inc b/mysql-test/include/mix1.inc index 703dfa44df0..c1fd5cac10c 100644 --- a/mysql-test/include/mix1.inc +++ b/mysql-test/include/mix1.inc @@ -1410,4 +1410,33 @@ SELECT * FROM t1 WHERE tid = 1 AND vid = 3 ORDER BY idx DESC; DROP TABLE t1; +# +# Bug#21704: Renaming column does not update FK definition. +# + +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; +--enable_warnings + +CREATE TABLE t1(id INT PRIMARY KEY) + ENGINE=innodb; + +CREATE TABLE t2( + t1_id INT PRIMARY KEY, + CONSTRAINT fk1 FOREIGN KEY (t1_id) REFERENCES t1(id)) + ENGINE=innodb; + +--echo + +--disable_result_log +--error ER_ERROR_ON_RENAME +ALTER TABLE t1 CHANGE id id2 INT; +--enable_result_log + +--echo + +DROP TABLE t2; +DROP TABLE t1; + --echo End of 5.1 tests diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index e9f00a667c0..ffc3ca25a99 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -1634,4 +1634,17 @@ vid tid idx name type 3 1 2 c1 NULL 3 1 1 pk NULL DROP TABLE t1; +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; +CREATE TABLE t1(id INT PRIMARY KEY) +ENGINE=innodb; +CREATE TABLE t2( +t1_id INT PRIMARY KEY, +CONSTRAINT fk1 FOREIGN KEY (t1_id) REFERENCES t1(id)) +ENGINE=innodb; + +ALTER TABLE t1 CHANGE id id2 INT; + +DROP TABLE t2; +DROP TABLE t1; End of 5.1 tests