summaryrefslogtreecommitdiff
path: root/storage/innobase/trx/trx0roll.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-06-21 14:22:22 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2021-06-21 14:22:22 +0300
commita42c80bd480c2060eca30101dab20ea6f6418bc8 (patch)
treea0a7ab27e52c867637c51ac7126abea15cc4c049 /storage/innobase/trx/trx0roll.cc
parentbcedb4200f26468d33f7064c1e6e126d81b21162 (diff)
parentbaf0ef9a18fa69e97deb750d9fa545dd4f162596 (diff)
downloadmariadb-git-a42c80bd480c2060eca30101dab20ea6f6418bc8.tar.gz
Merge 10.4 into 10.5
Diffstat (limited to 'storage/innobase/trx/trx0roll.cc')
-rw-r--r--storage/innobase/trx/trx0roll.cc20
1 files changed, 3 insertions, 17 deletions
diff --git a/storage/innobase/trx/trx0roll.cc b/storage/innobase/trx/trx0roll.cc
index ee307d3fba6..23aa950a14a 100644
--- a/storage/innobase/trx/trx0roll.cc
+++ b/storage/innobase/trx/trx0roll.cc
@@ -71,12 +71,6 @@ inline bool trx_t::rollback_finish()
ut_a(!srv_undo_sources);
ut_ad(srv_fast_shutdown);
ut_d(in_rollback= false);
- if (trx_undo_t *&undo= rsegs.m_redo.old_insert)
- {
- UT_LIST_REMOVE(rsegs.m_redo.rseg->old_insert_list, undo);
- ut_free(undo);
- undo= nullptr;
- }
if (trx_undo_t *&undo= rsegs.m_redo.undo)
{
UT_LIST_REMOVE(rsegs.m_redo.rseg->undo_list, undo);
@@ -119,7 +113,7 @@ inline void trx_t::rollback_low(trx_savept_t *savept)
error_state = DB_SUCCESS;
- if (has_logged_or_recovered())
+ if (has_logged())
{
ut_ad(rsegs.m_redo.rseg || rsegs.m_noredo.rseg);
que_thr_t *thr= pars_complete_graph_for_exec(roll_node, this, heap,
@@ -231,7 +225,7 @@ dberr_t trx_rollback_for_mysql(trx_t* trx)
case TRX_STATE_PREPARED:
case TRX_STATE_PREPARED_RECOVERED:
ut_ad(!trx->is_autocommit_non_locking());
- if (trx->rsegs.m_redo.undo || trx->rsegs.m_redo.old_insert) {
+ if (trx->rsegs.m_redo.undo) {
/* The XA ROLLBACK of a XA PREPARE transaction
will consist of multiple mini-transactions.
@@ -247,11 +241,7 @@ dberr_t trx_rollback_for_mysql(trx_t* trx)
killed, and finally, the transaction would be
recovered in XA PREPARE state, with some of
the actions already having been rolled back. */
- ut_ad(!trx->rsegs.m_redo.undo
- || trx->rsegs.m_redo.undo->rseg
- == trx->rsegs.m_redo.rseg);
- ut_ad(!trx->rsegs.m_redo.old_insert
- || trx->rsegs.m_redo.old_insert->rseg
+ ut_ad(trx->rsegs.m_redo.undo->rseg
== trx->rsegs.m_redo.rseg);
mtr_t mtr;
mtr.start();
@@ -260,10 +250,6 @@ dberr_t trx_rollback_for_mysql(trx_t* trx)
trx_undo_set_state_at_prepare(trx, undo, true,
&mtr);
}
- if (trx_undo_t* undo = trx->rsegs.m_redo.old_insert) {
- trx_undo_set_state_at_prepare(trx, undo, true,
- &mtr);
- }
mutex_exit(&trx->rsegs.m_redo.rseg->mutex);
/* Write the redo log for the XA ROLLBACK
state change to the global buffer. It is