diff options
author | Sergei Golubchik <sergii@pisem.net> | 2012-03-28 01:04:46 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2012-03-28 01:04:46 +0200 |
commit | 20e706689df1eb87c696304797e9d6184c0a75bb (patch) | |
tree | ff3eab8fa3e060b34687c6e9819cb559ac67d5c5 /sql/sql_admin.cc | |
parent | 3d0775e9af2fcf3fe92b7f19e299ea23068eca1e (diff) | |
parent | bfaebe3f5e4b917c4498e234bad7a9d45d07ca62 (diff) | |
download | mariadb-git-20e706689df1eb87c696304797e9d6184c0a75bb.tar.gz |
mysql-5.5.22 merge
mysql-test/suite/innodb/t/group_commit_crash.test:
remove autoincrement to avoid rbr being used for insert ... select
mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test:
remove autoincrement to avoid rbr being used for insert ... select
mysys/my_addr_resolve.c:
a pointer to a buffer is returned to the caller -> the buffer cannot be on the stack
mysys/stacktrace.c:
my_vsnprintf() is ok here, in 5.5
Diffstat (limited to 'sql/sql_admin.cc')
-rw-r--r-- | sql/sql_admin.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sql/sql_admin.cc b/sql/sql_admin.cc index 5897d74582a..f8c602e6482 100644 --- a/sql/sql_admin.cc +++ b/sql/sql_admin.cc @@ -442,12 +442,7 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, my_error(ER_PARTITION_MGMT_ON_NONPARTITIONED, MYF(0)); DBUG_RETURN(TRUE); } - uint num_parts_found; - uint num_parts_opt= alter_info->partition_names.elements; - num_parts_found= set_part_state(alter_info, table->table->part_info, - PART_ADMIN); - if (num_parts_found != num_parts_opt && - (!(alter_info->flags & ALTER_ALL_PARTITION))) + if (set_part_state(alter_info, table->table->part_info, PART_ADMIN)) { char buff[FN_REFLEN + MYSQL_ERRMSG_SIZE]; size_t length; @@ -896,6 +891,9 @@ send_result_message: DBUG_RETURN(FALSE); err: + /* Make sure this table instance is not reused after the failure. */ + if (table && table->table) + table->table->m_needs_reopen= true; trans_rollback_stmt(thd); trans_rollback(thd); close_thread_tables(thd); // Shouldn't be needed |