mirror of
https://github.com/MariaDB/server.git
synced 2025-12-07 17:42:39 +03:00
dict_create_foreign_constraints_low(): Tolerate the keywords IGNORE and ONLINE between the keywords ALTER and TABLE. We should really remove the hacky FOREIGN KEY constraint parser from InnoDB.
21 lines
908 B
Plaintext
21 lines
908 B
Plaintext
#
|
|
# MDEV-18630 Conditional jump or move depends on uninitialised value
|
|
# in ib_push_warning / dict_create_foreign_constraints_low
|
|
#
|
|
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
|
ALTER IGNORE TABLE t1 ADD FOREIGN KEY (a) REFERENCES t2 (b);
|
|
ERROR HY000: Can't create table 'test.#sql-temporary' (errno: 150)
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Warning 150 Alter table `test`.`t1` with foreign key constraint failed. Referenced table `test`.`t2` not found in the data dictionary near 'FOREIGN KEY (a) REFERENCES t2 (b)'.
|
|
Error 1005 Can't create table 'test.#sql-temporary' (errno: 150)
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-18139 ALTER IGNORE ... ADD FOREIGN KEY causes bogus error
|
|
#
|
|
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT, KEY(f1)) ENGINE=InnoDB;
|
|
CREATE TABLE t2 (f INT, KEY(f)) ENGINE=InnoDB;
|
|
ALTER TABLE t1 ADD FOREIGN KEY (f2) REFERENCES t2 (f);
|
|
ALTER IGNORE TABLE t1 ADD FOREIGN KEY (f3) REFERENCES t1 (f1);
|
|
DROP TABLE t1, t2;
|