summaryrefslogtreecommitdiff
path: root/storage/innobase/trx/trx0trx.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/trx/trx0trx.cc')
-rw-r--r--storage/innobase/trx/trx0trx.cc16
1 files changed, 2 insertions, 14 deletions
diff --git a/storage/innobase/trx/trx0trx.cc b/storage/innobase/trx/trx0trx.cc
index 056bddb5d73..bb808db7e48 100644
--- a/storage/innobase/trx/trx0trx.cc
+++ b/storage/innobase/trx/trx0trx.cc
@@ -878,7 +878,6 @@ static void trx_resurrect(trx_undo_t *undo, trx_rseg_t *rseg,
trx_sys.rw_trx_hash.insert(trx);
trx_sys.rw_trx_hash.put_pins(trx);
- trx_sys.rw_trx_ids.push_back(trx->id);
trx_resurrect_table_locks(trx, undo);
if (trx_state_eq(trx, TRX_STATE_ACTIVE))
*rows_to_undo+= trx->undo_no;
@@ -973,8 +972,6 @@ trx_lists_init_at_db_start()
ib::info() << "Trx id counter is " << trx_sys.get_max_trx_id();
}
-
- std::sort(trx_sys.rw_trx_ids.begin(), trx_sys.rw_trx_ids.end());
trx_sys.mvcc.clone_oldest_view(&purge_sys->view);
}
@@ -1519,9 +1516,7 @@ trx_update_mod_tables_timestamp(
/**
Erase the transaction from running transaction lists and serialization
-list. Active RW transaction list of a MVCC snapshot(ReadView::prepare)
-won't include this transaction after this call. All implicit locks are
-also released by this call as trx is removed from rw_trx_hash.
+list.
@param[in] trx Transaction to erase, must have an ID > 0
@param[in] serialised true if serialisation log was written */
static
@@ -1538,15 +1533,8 @@ trx_erase_lists(
} else {
mutex_enter(&trx_sys.mutex);
}
-
- trx_ids_t::iterator it = std::lower_bound(
- trx_sys.rw_trx_ids.begin(),
- trx_sys.rw_trx_ids.end(),
- trx->id);
- ut_ad(*it == trx->id);
- trx_sys.rw_trx_ids.erase(it);
mutex_exit(&trx_sys.mutex);
- trx_sys.rw_trx_hash.erase(trx);
+ trx_sys.deregister_rw(trx);
}
/****************************************************************//**