summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/t/foreign_key.test
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2022-01-12 17:18:38 +0300
committerAleksey Midenkov <midenok@gmail.com>2022-01-12 17:18:38 +0300
commit6831b3f2a0fd656fb41dd9df5f141431988448f1 (patch)
tree209b0a23a95cdcc3d600d01bcec5db0e558fd484 /mysql-test/suite/innodb/t/foreign_key.test
parent017d1b867b12ff36b3b871c3d57719907a905659 (diff)
downloadmariadb-git-6831b3f2a0fd656fb41dd9df5f141431988448f1.tar.gz
MDEV-26824 Can't add foreign key with empty referenced columns list
create_table_info_t::create_foreign_keys() expects equal number of iterations through fk->columns and fk->ref_columns. If fk->ref_columns is empty copy it from fk->columns.
Diffstat (limited to 'mysql-test/suite/innodb/t/foreign_key.test')
-rw-r--r--mysql-test/suite/innodb/t/foreign_key.test18
1 files changed, 18 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/foreign_key.test b/mysql-test/suite/innodb/t/foreign_key.test
index be248a5bed4..1f25d995827 100644
--- a/mysql-test/suite/innodb/t/foreign_key.test
+++ b/mysql-test/suite/innodb/t/foreign_key.test
@@ -902,6 +902,24 @@ create or replace table t2 (pk int primary key, a varchar(4096) unique, foreign
drop table t1;
+--echo #
+--echo # MDEV-26824 Can't add foreign key with empty referenced columns list
+--echo #
+create table t2(a int primary key) engine=innodb;
+create table t1(a int primary key, b int) engine=innodb;
+--error ER_WRONG_FK_DEF
+alter table t2 add foreign key(a) references t1(a, b);
+create or replace table t1(a tinyint primary key) engine innodb;
+--error ER_CANT_CREATE_TABLE
+alter table t2 add foreign key(a) references t1;
+create or replace table t1(b int primary key) engine innodb;
+--error ER_CANT_CREATE_TABLE
+alter table t2 add foreign key(a) references t1;
+create or replace table t1(a int primary key, b int) engine innodb;
+alter table t2 add foreign key(a) references t1;
+show create table t2;
+drop tables t2, t1;
+
--echo # End of 10.5 tests
--source include/wait_until_count_sessions.inc