From: Konstantin Osipov Date: June 25 2009 2:39pm Subject: Bug#45701 Falcon doesn't allow ALTER TABLE to lock more than one table List-Archive: http://lists.mysql.com/falcon/772 Message-Id: <20090625143906.GF2086@ibbur> MIME-Version: 1.0 Content-Type: text/plain; CHARSET=US-ASCII Content-Transfer-Encoding: 7BIT 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