2 messages in com.mysql.lists.bugsRe: Drop innodb table w/ skip-innodb
FromSent OnAttachments
Remo Tex03 Oct 2005 01:06 
Remo Tex03 Oct 2005 01:14 
Subject:Re: Drop innodb table w/ skip-innodb
From:Remo Tex (id@remotex.bg)
Date:10/03/2005 01:14:20 AM
List:com.mysql.lists.bugs

Simple test case:

-- #skip-innodb mysql> use test Database changed mysql> create table t1( id1 int not null primary key, c1 char(10) ) ENGINE = INNODB DEFAULT CHARSET = LATIN1; Query OK, 0 rows affected (0.08 sec)

-- skip-innodb mysql> \r Connection id: 1 Current database: test

mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | t1 | +----------------+ 1 row in set (0.00 sec)

mysql> drop table t1; ERROR 6 (HY000): Error on delete of '.\test\t1.MYI' (Errcode: 2) mysql> show tables; Empty set (0.00 sec)

-- #skip-innodb mysql> \r Connection id: 1 Current database: test

mysql> show tables; Empty set (0.00 sec)

mysql> While error.log shows: 051003 10:49:13 [Note] C:\mysql-5.0.13-rc-win32\bin\mysqld-nt.exe: ready for connections. Version: '5.0.13-rc-nt-log' socket: '' port: 3306 Official MySQL binary 051003 10:50:06 InnoDB: Error: table `test/t1` already exists in InnoDB internal InnoDB: data dictionary. Have you deleted the .frm file InnoDB: and not used DROP TABLE? Have you used DROP DATABASE InnoDB: for InnoDB tables in MySQL version <= 3.23.43? InnoDB: See the Restrictions section of the InnoDB manual. InnoDB: You can drop the orphaned table inside InnoDB by InnoDB: creating an InnoDB table with the same name in another InnoDB: database and copying the .frm file to the current database. InnoDB: Then MySQL thinks the table exists, and DROP TABLE will InnoDB: succeed. InnoDB: You can look for further help from InnoDB: http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html

I think this shouldn't happen? Is it ...A Bug or by design? If ti's a bug can someone file a bug report please...

While testing Giuseppe Maxia <g.ma@stardata.it> test case above [lost connection with SELECT queries and DELETE in SP] by mistake I've stumbled upon following (bug?): By my mistake 1st run was with option skip-innodb, then I #skip-innodb (btw: the test ran fine) 2nd time then in a hurry I've skip-innodb and restarted server then: Realized there are some innodb tables left I: drop table t1; -- t1 is innodb; server runs with skip-innodb here -- error ..can't ..find (*.frm I think) file ... -- but restarting with innodb on: table t1 wasn't there

I think this shouldn't happen? Is it ...A Bug or by design?

051003 10:49:13 [Note] C:\mysql-5.0.13-rc-win32\bin\mysqld-nt.exe: ready for connections. Version: '5.0.13-rc-nt-log' socket: '' port: 3306 Official MySQL binary 051003 10:50:06 InnoDB: Error: table `test/t1` already exists in InnoDB internal InnoDB: data dictionary. Have you deleted the .frm file InnoDB: and not used DROP TABLE? Have you used DROP DATABASE InnoDB: for InnoDB tables in MySQL version <= 3.23.43? InnoDB: See the Restrictions section of the InnoDB manual. InnoDB: You can drop the orphaned table inside InnoDB by InnoDB: creating an InnoDB table with the same name in another InnoDB: database and copying the .frm file to the current database. InnoDB: Then MySQL thinks the table exists, and DROP TABLE will InnoDB: succeed. InnoDB: You can look for further help from InnoDB: http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html