diff options
-rw-r--r-- | storage/innobase/row/row0mysql.cc | 3 | ||||
-rw-r--r-- | storage/xtradb/row/row0mysql.cc | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/storage/innobase/row/row0mysql.cc b/storage/innobase/row/row0mysql.cc index c6e038448cd..abee3386039 100644 --- a/storage/innobase/row/row0mysql.cc +++ b/storage/innobase/row/row0mysql.cc @@ -4222,7 +4222,8 @@ row_drop_table_for_mysql( hold the InnoDB dictionary lock, we will drop any adaptive hash index entries upfront. */ while (buf_LRU_drop_page_hash_for_tablespace(table)) { - if (trx_is_interrupted(trx) + if ((!dict_table_is_temporary(table) + && trx_is_interrupted(trx)) || srv_shutdown_state != SRV_SHUTDOWN_NONE) { err = DB_INTERRUPTED; goto funct_exit; diff --git a/storage/xtradb/row/row0mysql.cc b/storage/xtradb/row/row0mysql.cc index c9684d49167..e4a6cd39699 100644 --- a/storage/xtradb/row/row0mysql.cc +++ b/storage/xtradb/row/row0mysql.cc @@ -4233,7 +4233,8 @@ row_drop_table_for_mysql( hold the InnoDB dictionary lock, we will drop any adaptive hash index entries upfront. */ while (buf_LRU_drop_page_hash_for_tablespace(table)) { - if (trx_is_interrupted(trx) + if ((!dict_table_is_temporary(table) + && trx_is_interrupted(trx)) || srv_shutdown_state != SRV_SHUTDOWN_NONE) { err = DB_INTERRUPTED; goto funct_exit; |