summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-03-11 17:29:46 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-03-11 17:29:46 +0200
commit28e713dc12881e7f50207d0c642523ca3e630114 (patch)
tree8510ff718df007ea08a17a0582eba23daf56891d
parent219752805cd012af41a74ae95a5732a67adecd4d (diff)
downloadmariadb-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.cc8
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 */