Commit d0536d02 authored by unknown's avatar unknown

Bug #30193: crash during drop table and kill

When DROP TABLE detects that it has been killed
by another thread it must unlock the table names
it locked.

Fixed by backporting the 5.1 error handling code.


sql/sql_table.cc:
  Bug #30193: correct error handling when a thread 
  is killed inside DROP TABLE.
parent 8277581b
......@@ -256,8 +256,8 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists,
drop_locked_tables(thd, db, table->table_name);
if (thd->killed)
{
thd->no_warnings_for_error= 0;
DBUG_RETURN(-1);
error=-1;
goto err_with_placeholders;
}
alias= (lower_case_table_names == 2) ? table->alias : table->table_name;
/* remove form file and isam files */
......@@ -338,6 +338,7 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists,
}
}
err_with_placeholders:
if (!drop_temporary)
unlock_table_names(thd, tables, (TABLE_LIST*) 0);
thd->no_warnings_for_error= 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment