summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorsvoj@mysql.com/april.(none) <>2006-12-07 18:32:40 +0400
committersvoj@mysql.com/april.(none) <>2006-12-07 18:32:40 +0400
commite17d7bce004635c86f72380d5e08fa4b50d1de48 (patch)
treeb18687e7ac15efe8c36dfa4a19279a91d8d33f18 /sql
parentab70ed5e48cb1e5e479cfb0e9661e6c582bb3010 (diff)
downloadmariadb-git-e17d7bce004635c86f72380d5e08fa4b50d1de48.tar.gz
BUG#23404 - ROW_FORMAT=FIXED option is lost is an index is added to the
table ROW_FORMAT option is lost during CREATE/DROP INDEX. This fix forces CREATE/DROP INDEX to retain ROW_FORMAT by instructing mysql_alter_table() that ROW_FORMAT is not used during creating/dropping indexes.
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_parse.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index cb2fa0f7014..19add72c23e 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -5481,6 +5481,7 @@ int mysql_create_index(THD *thd, TABLE_LIST *table_list, List<Key> &keys)
bzero((char*) &create_info,sizeof(create_info));
create_info.db_type=DB_TYPE_DEFAULT;
create_info.default_table_charset= thd->variables.collation_database;
+ create_info.row_type= ROW_TYPE_NOT_USED;
DBUG_RETURN(mysql_alter_table(thd,table_list->db,table_list->real_name,
&create_info, table_list,
fields, keys, 0, (ORDER*)0,
@@ -5497,6 +5498,7 @@ int mysql_drop_index(THD *thd, TABLE_LIST *table_list, ALTER_INFO *alter_info)
bzero((char*) &create_info,sizeof(create_info));
create_info.db_type=DB_TYPE_DEFAULT;
create_info.default_table_charset= thd->variables.collation_database;
+ create_info.row_type= ROW_TYPE_NOT_USED;
alter_info->clear();
alter_info->flags= ALTER_DROP_INDEX;
alter_info->is_simple= 0;