List:Internals« Previous MessageNext Message »
From:Michael Widenius Date:January 28 2001 5:12pm
Subject:OS/2 3.23.32: merge test failing
View as plain text  
Hi!

>>>>> "Yuri" == Yuri Dario <mc6530@stripped> writes:

Yuri> Hi,
Yuri> the merge.test is failing with access denied when deleting tables. A
Yuri> minimal version of merge.test as follows, show the bug:

Yuri> drop table if exists t1,t2,t3;
Yuri> create table t1 (a int not null primary key auto_increment, message
Yuri> char(20));
Yuri> create table t2 (a int not null primary key auto_increment, message
Yuri> char(20));
Yuri> INSERT INTO t1 (message) VALUES ("Testing"),("table"),("t1");
Yuri> INSERT INTO t2 (message) VALUES ("Testing"),("table"),("t2");
Yuri> create table t3 (a int not null, b char(20), key(a)) type=MERGE
Yuri> UNION=(t1,t2);
Yuri> explain select * from t3 where a < 10;
Yuri> drop table t1;
Yuri> drop table t2;
Yuri> drop table t3;
Yuri> drop table t4;

Yuri> The result is

Yuri> E:\usr\local\mysql\mysql-test\t1>..\..\bin\mysql test < m1
Yuri> table   type    possible_keys   key     key_len ref     rows    Extra
Yuri> t3      ALL     a       NULL    NULL    NULL    6       where used
Yuri> ERROR 6 at line 29: Error on delete of '.\test\t1.MYI' (Errcode: 13)


Yuri> I suspect multiple call to open() against t1.myi. The mysqld.trace file
Yuri> has been saved.

Yuri> Where can I start looking in code?

The problem is that OS2 has the same problem as Windows in that it
can't delete a file that is open.

I have updated the MySQL manual with the following item:

*`DROP TABLE' on a table that is in use by a `MERGE' table will not work.*
     The `MERGE' handler does it table mapping hidden from *MySQL*.
     Because windows doesn't allow one to drop files that are open, you
     have to first flush all `MERGE' tables (with `FLUSH TABLES') or
     drop the `MERGE' table before drooping the table.  We will fix
     this at the same time we introduce `VIEW''s.
 
I have 'fixed' the test case by changing it to first drop the MERGE
table and then the other tables.

Regards,
Monty
Thread
OS/2 3.23.32: merge test failingMichael Widenius28 Jan
Re: OS/2 3.23.32: merge test failingMichael Widenius28 Jan
  • Re: OS/2 3.23.32: merge test failingYuri Dario28 Jan
Re: OS/2 3.23.32: merge test failingSasha Pachev29 Jan
  • Re: OS/2 3.23.32: merge test failingYuri Dario29 Jan
  • Re: OS/2 3.23.32: merge test failingMichael Widenius29 Jan