1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug#46760: Fast ALTER TABLE no longer works for InnoDB

Despite copying the value of the old table's row type
we don't always have to mark row type as being specified.
Innodb uses this to check if it can do fast ALTER TABLE
or not.
Fixed by correctly flagging the presence of row_type 
only when it's actually changed.
Added a test case for 39200.
This commit is contained in:
Georgi Kodinov
2009-09-18 16:01:18 +03:00
parent 64badb5f26
commit 01e5bc703d
5 changed files with 102 additions and 0 deletions

View File

@ -913,6 +913,15 @@ typedef struct st_ha_create_information
ulong key_block_size;
SQL_LIST merge_list;
handlerton *db_type;
/**
Row type of the table definition.
Defaults to ROW_TYPE_DEFAULT for all non-ALTER statements.
For ALTER TABLE defaults to ROW_TYPE_NOT_USED (means "keep the current").
Can be changed either explicitly by the parser.
If nothing speficied inherits the value of the original table (if present).
*/
enum row_type row_type;
uint null_bits; /* NULL bits at start of record */
uint options; /* OR of HA_CREATE_ options */