|
|||||||||||
|
Bugs in 5.1 smart ALTER TABLE
From: Marko Mäkelä <marko.makela(at)oracle.com>
Date: Thu Sep 27 2007 - 05:42:15 EDT
Thank you for your helpful reply on reporting duplicate key values in smart ALTER TABLE. I finally completed the implementation, but I have some further remarks. (1) mysql_alter_table() is trying to drop a non-existant table in the (2) MySQL does not seem to roll back the .frm file when handler::add_index() create table t1(a int, aa blob, b blob, c text, d text not null) engine=innodb default charset = utf8;
insert into t1 values (null,null,null,null,'null');
insert into t1
--error ER_PRIMARY_CANT_HAVE_NULL
The latter ALTER TABLE does not lead to handler::add_index() being called, because MySQL thinks that the index definition has changed, from (a,aa) to (a,aa(255)). However, t1 should not have a primary key, because the first ALTER TABLE statement (executed by handler::add_index()) failed.
If I change the primary key in the first alter table from (a,aa) to
I can supply the definitions and data of t2,t3 if needed, but I don't think it is relevant for reproducing the bug. This is on bk://mysql.bkbits.net/mysql-5.1, bkf changes|head says: ChangeSet@1.2541.1.20, 2007-09-21 12:17:09+02:00, gkodinov@macbook.local +1 -0 fixed warnings by bug 30639 ChangeSet@1.2541.1.19, 2007-09-21 10:15:16+02:00, gkodinov@macbook.local +10 -0 fixed type conversion warnings revealed by bug 30639 Best regards, Marko Mäkelä Innobase Oy/Oracle Corp. -- MySQL Internals Mailing List For list archives: http://lists.mysql.com/internals To unsubscribe: http://lists.mysql.com/internals?unsub=lists@pantek.comReceived on Thu Sep 27 05:43:36 2007 This archive was generated by hypermail 2.1.8 : Sun Oct 07 2007 - 07:59:33 EDT |
||||||||||
|
|||||||||||