# Bug 12902967: Creating self referencing fk on same index unhandled, # confusing error # # Creating a self referencing foreign key on the same # column/index is an unhandled exception, it should throw a sensible # error but instead implies that your data dictionary may now be out # of sync: --source include/have_innodb.inc --source include/not_embedded.inc let error_log= $MYSQLTEST_VARDIR/log/mysqld.1.err; --source include/restart_mysqld.inc create table t1 (f1 integer primary key) engine innodb; # The below statement should produce error message in error log. # This error message should mention problem with foreign keys # rather than with data dictionary. --replace_regex /'\.\/test\/#sql-[0-9a-f_]*'/'#sql-temporary'/ --error ER_ERROR_ON_RENAME alter table t1 add constraint c1 foreign key (f1) references t1(f1); --source include/restart_mysqld.inc perl; $file = $ENV{error_log}; open (FILE, '<', $file) or die "can't open(< $file): $!\n"; print ((grep { /^InnoDB:/ and not /aio/i and not /io_setup\(\) attempt [0-9]+ failed/ } )[-2..-1]); EOF drop table t1;