Bug#31409 RENAME TABLE causes server crash or deadlock when used with HANDLER statements
If mysql_lock_tables fails because the lock was aborted, we need to reset thd->some_tables_delete, otherwise we might loop indefinitely because handler's tables are not closed in a standard way, meaning that close_thread_tables() (which resets some_tables_deleted) is not used. This patch fixes sporadical failures of handler_myisam/innodb tests which were introduced by previous fix for this bug.
This commit is contained in:
parent
c3d06676f8
commit
b92f3309f1
@ -466,6 +466,12 @@ retry:
|
||||
{
|
||||
mysql_ha_close_table(thd, tables);
|
||||
hash_tables->table= NULL;
|
||||
/*
|
||||
The lock might have been aborted, we need to manually reset
|
||||
thd->some_tables_deleted because handler's tables are closed
|
||||
in a non-standard way. Otherwise we might loop indefinitely.
|
||||
*/
|
||||
thd->some_tables_deleted= 0;
|
||||
goto retry;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user