Thanks for finding and reporting this issue!
* Rich Prohaska <prohaska@stripped> [12/07/10 18:11]:
> We found a alter table statement that adds columns to a table sets the
> ADD and DROP INDEX flags in the alter inplace info struct. When
> running the attached mysql test program, innodb's
> check_if_supported_inplace_alter gets called with unexpected
> handler_flags set (handler_flags = 2115 = ADD_INDEX + DROP_INDEX +
> ADD_COLUMN + ALTER_COLUMN_ORDER). The fill_if_supported_inplace_alter
> function is probably at fault. We are using
Indeed, this is a bug in fill_alter_inplace_info() code.
This function incorrectly determines prefix keys as dropped
and then re-created by any ALTER TABLE. :(
I have reported a bug about it: http://bugs.mysql.com/65865.
Thanks once again!
Dmitry Lenev, Software Developer
Oracle Development SPB/MySQL, www.mysql.com
Are you MySQL certified? http://www.mysql.com/certification