List:Falcon Storage Engine« Previous MessageNext Message »
From:Konstantin Osipov Date:June 25 2009 2:39pm
Subject:Bug#45701 Falcon doesn't allow ALTER TABLE to lock more than one table
View as plain text  
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 tableKonstantin Osipov25 Jun