diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-03-11 17:29:46 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-03-11 17:29:46 +0200 |
commit | 28e713dc12881e7f50207d0c642523ca3e630114 (patch) | |
tree | 8510ff718df007ea08a17a0582eba23daf56891d | |
parent | 219752805cd012af41a74ae95a5732a67adecd4d (diff) | |
download | mariadb-git-28e713dc12881e7f50207d0c642523ca3e630114.tar.gz |
MDEV-18878: Correct a condition
Initialize node->trx_id before checking if a table can be skipped.
-rw-r--r-- | storage/innobase/row/row0purge.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/storage/innobase/row/row0purge.cc b/storage/innobase/row/row0purge.cc index 2069e94127d..076f6b16087 100644 --- a/storage/innobase/row/row0purge.cc +++ b/storage/innobase/row/row0purge.cc @@ -954,8 +954,8 @@ row_purge_parse_undo_rec( node->rec_type = type; - if ((type == TRX_UNDO_UPD_DEL_REC && !*updated_extern) - || node->is_skipped(table_id)) { + if (type == TRX_UNDO_UPD_DEL_REC && !*updated_extern) { +skip: node->table = NULL; return false; } @@ -963,6 +963,10 @@ row_purge_parse_undo_rec( ptr = trx_undo_update_rec_get_sys_cols(ptr, &node->trx_id, &roll_ptr, &info_bits); + if (node->is_skipped(table_id)) { + goto skip; + } + /* Prevent DROP TABLE etc. from running when we are doing the purge for this row */ |