# # Bug#12661768 UPDATE IGNORE CRASHES SERVER IF TABLE IS INNODB AND IT IS # PARENT FOR OTHER ONE # -- source include/have_innodb.inc SET SESSION foreign_key_checks=0; # only interested that the "UPDATE IGNORE" at the end does not crash the server -- disable_query_log -- disable_result_log SET NAMES utf8; -- let $t1_name = bug12661768_1 -- let $t2_name = bug12661768_2 -- let $fk_name = ab_on_2 -- let $key_str = 'bbb' eval DROP TABLE IF EXISTS `$t2_name`, `$t1_name`; eval CREATE TABLE `$t1_name` ( a INT, b VARCHAR(512), PRIMARY KEY (a, b) ) ENGINE=INNODB; eval CREATE TABLE `$t2_name` ( id INT, a INT, b VARCHAR(512), PRIMARY KEY (id), UNIQUE KEY `$fk_name` (a, b), FOREIGN KEY (a, b) REFERENCES `$t1_name` (a, b) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=INNODB; eval INSERT INTO `$t1_name` VALUES (1, $key_str); eval INSERT INTO `$t2_name` VALUES (100, 1, $key_str), (101, 3, $key_str); SET SESSION foreign_key_checks=1; -- enable_result_log -- error ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO eval UPDATE IGNORE `$t1_name` SET a = 3; eval DROP TABLE `$t2_name`, `$t1_name`;