Hi,
Today we created a staging tree for Milestone 13 of WL#148 foreign
keys.
It's available in the internal bazaar, you can branch it with
bzr branch my:6.1-fk-stage
Bug#45701 is easily repeatable in this tree.
In order to repeat it, try:
1) Start the MySQL server with --foreign-key-all-engines=1.
2) Execute this SQL script:
mysql> set storage_engine=falcon;
Query OK, 0 rows affected (0.00 sec)
mysql> drop tables if exists t1, t2;
Query OK, 0 rows affected, 2 warnings (0.00 sec)
mysql> create table t1 (i int primary key);
Query OK, 0 rows affected (0.01 sec)
mysql> create table t2 (fk1 int constraint c1 references t1 (i),
-> fk2 int,
-> foreign key (fk2) references t1 (i) on delete set null);
Query OK, 0 rows affected (0.02 sec)
mysql> alter table t2 add column a int;
ERROR 1015 (HY000): Can't lock file (errno: 178)
set storage_engine=falcon;
drop tables if exists t1, t2;
create table t1 (i int primary key);
create table t2 (fk1 int constraint c1 references t1 (i),
fk2 int,
foreign key (fk2) references t1 (i) on delete set null);
alter table t2 add column a int;
Or, alternatively:
1) Go to t/foreign_key_all_engines.test.
2) Remove --disable_parsing/--enable_parsing clauses near FIXME comment.
It's the only --disable_parsing clause in the file.
3) Run ./mysql-test-run --do=foreign_key_all_engines
We're keen to continue using Falcon as our #1 engine for
foreign keys development, and would love to see this bug fixed soon.
Thanks,
--
kostja
| Thread |
|---|
| • Bug#45701 Falcon doesn't allow ALTER TABLE to lock more than one table | Konstantin Osipov | 25 Jun |