Re: Drop innodb table w/ skip-innodb
Remo Tex <[email protected]> Mon, 03 Oct 2005 11:14:42 +0300
| Newsgroups | gmane.comp.db.mysql.bugs |
|---|---|
| Message-ID | <[email protected]> |
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... Remo Tex wrote: > While testing Giuseppe Maxia <[email protected]> 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 -- MySQL Bugs Mailing List For list archives: http://lists.mysql.com/bugs To unsubscribe: http://lists.mysql.com/[email protected]