summaryrefslogtreecommitdiff
path: root/storage/innobase/row
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-10-12 06:34:09 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2019-10-12 06:34:09 +0300
commit8e3d85e112964c4f7c2d07710a3c8ee9d5041685 (patch)
tree163e1563442a228221a810093656d4d3844063b2 /storage/innobase/row
parent0ecc85c5d972590628d76594c805c13a5f9d3a88 (diff)
parent2227dec45e68b57f3d7759c977e16bea1533e810 (diff)
downloadmariadb-git-8e3d85e112964c4f7c2d07710a3c8ee9d5041685.tar.gz
Merge 10.2 into 10.3
Diffstat (limited to 'storage/innobase/row')
-rw-r--r--storage/innobase/row/row0purge.cc21
-rw-r--r--storage/innobase/row/row0vers.cc1
2 files changed, 22 insertions, 0 deletions
diff --git a/storage/innobase/row/row0purge.cc b/storage/innobase/row/row0purge.cc
index 89e336e1724..8c83482f53e 100644
--- a/storage/innobase/row/row0purge.cc
+++ b/storage/innobase/row/row0purge.cc
@@ -46,6 +46,7 @@ Created 3/14/1997 Heikki Tuuri
#include "handler.h"
#include "ha_innodb.h"
#include "fil0fil.h"
+#include "debug_sync.h"
/*************************************************************************
IMPORTANT NOTE: Any operation that generates redo MUST check that there
@@ -1306,6 +1307,26 @@ row_purge_step(
node->start();
+#ifdef UNIV_DEBUG
+ srv_slot_t *slot = thr->thread_slot;
+ ut_ad(slot);
+
+ rw_lock_x_lock(&slot->debug_sync_lock);
+ while (UT_LIST_GET_LEN(slot->debug_sync)) {
+ srv_slot_t::debug_sync_t *sync =
+ UT_LIST_GET_FIRST(slot->debug_sync);
+ const char* sync_str = reinterpret_cast<char*>(&sync[1]);
+ bool result = debug_sync_set_action(current_thd,
+ sync_str,
+ strlen(sync_str));
+ ut_a(!result);
+
+ UT_LIST_REMOVE(slot->debug_sync, sync);
+ ut_free(sync);
+ }
+ rw_lock_x_unlock(&slot->debug_sync_lock);
+#endif
+
if (!(node->undo_recs == NULL || ib_vector_is_empty(node->undo_recs))) {
trx_purge_rec_t*purge_rec;
diff --git a/storage/innobase/row/row0vers.cc b/storage/innobase/row/row0vers.cc
index 04237b8f7a4..b662ce92f28 100644
--- a/storage/innobase/row/row0vers.cc
+++ b/storage/innobase/row/row0vers.cc
@@ -464,6 +464,7 @@ row_vers_build_clust_v_col(
vcol_info->set_used();
maria_table = vcol_info->table();
}
+ DEBUG_SYNC(current_thd, "ib_clust_v_col_before_row_allocated");
innobase_allocate_row_for_vcol(thd, index,
&local_heap,