diff --git a/storage/innobase/row/row0purge.cc b/storage/innobase/row/row0purge.cc index 7854901cfa8..af53a3bc153 100644 --- a/storage/innobase/row/row0purge.cc +++ b/storage/innobase/row/row0purge.cc @@ -1027,6 +1027,11 @@ row_purge_parse_undo_rec( return false; case TRX_UNDO_INSERT_METADATA: case TRX_UNDO_INSERT_REC: + /* These records do not store any transaction identifier. + + FIXME: Update SYS_TABLES.ID on both DISCARD TABLESPACE + and IMPORT TABLESPACE to get rid of the repeated lookups! */ + node->trx_id = TRX_ID_MAX; break; default: #ifdef UNIV_DEBUG @@ -1112,9 +1117,7 @@ inaccessible: node->table = NULL; err_exit: rw_lock_s_unlock(dict_operation_lock); - if (table_id) { - node->skip(table_id, trx_id); - } + node->skip(table_id, trx_id); return(false); }