Drop innodb table w/ skip-innodb

Drop innodb table w/ skip-innodb

am 03.10.2005 10:06:46 von Remo Tex

While testing Giuseppe Maxia 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_dat adict.html

--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org

Re: Drop innodb table w/ skip-innodb

am 03.10.2005 10:14:42 von Remo Tex

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_dat adict.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 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_dat adict.html

--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org