From 278a06cf888ffa1a1f32f108aa32b10d27c2e10c Mon Sep 17 00:00:00 2001 From: Rich Prohaska Date: Sat, 1 Feb 2014 16:49:23 -0500 Subject: [PATCH] #36 use copy of alter_info for inplace alter since mysql_prepare_create_table is not idempotent --- sql/sql_table.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 445aa595..612f1d6b 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -6526,13 +6526,15 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name, uint tables_opened = 0; Alter_table_ctx alter_ctx(thd, table_list, tables_opened, new_db, new_name); copied= deleted= 0; // needed for my_ok + + Alter_info tmp_alter_info(*alter_info, thd->mem_root); enum inplace_alter_table_result r; r= mysql_inplace_alter_table(thd, table_list, table, create_info, - alter_info, + &tmp_alter_info, order_num, order, ignore, &alter_ctx); switch (r) { case INPLACE_ALTER_SUCCESS: