diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2018-04-25 00:14:12 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2018-04-25 07:56:11 +0300 |
commit | e3fb8e95692fcb554d83a76c5dd6e0b9a6c62728 (patch) | |
tree | be13770f44dcf5881dcbd092b099f143b785b92a | |
parent | 7396dfcca7a1eb906edabec02fb59d168f09343d (diff) | |
download | mariadb-git-e3fb8e95692fcb554d83a76c5dd6e0b9a6c62728.tar.gz |
Remove trx_t::undo_rseg_space
The field undo_rseg_space was only used in a debug check.
trx_roll_check_undo_rec_ordering(): Remove.
-rw-r--r-- | storage/innobase/include/trx0roll.h | 2 | ||||
-rw-r--r-- | storage/innobase/include/trx0roll.ic | 62 | ||||
-rw-r--r-- | storage/innobase/include/trx0trx.h | 3 | ||||
-rw-r--r-- | storage/innobase/trx/trx0rec.cc | 4 | ||||
-rw-r--r-- | storage/innobase/trx/trx0roll.cc | 4 | ||||
-rw-r--r-- | storage/innobase/trx/trx0trx.cc | 3 |
6 files changed, 0 insertions, 78 deletions
diff --git a/storage/innobase/include/trx0roll.h b/storage/innobase/include/trx0roll.h index e1718294f6e..af5ed73f04b 100644 --- a/storage/innobase/include/trx0roll.h +++ b/storage/innobase/include/trx0roll.h @@ -218,6 +218,4 @@ struct trx_named_savept_t{ transaction */ }; -#include "trx0roll.ic" - #endif diff --git a/storage/innobase/include/trx0roll.ic b/storage/innobase/include/trx0roll.ic deleted file mode 100644 index b09a1471150..00000000000 --- a/storage/innobase/include/trx0roll.ic +++ /dev/null @@ -1,62 +0,0 @@ -/***************************************************************************** - -Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved. - -This program is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA - -*****************************************************************************/ - -/**************************************************//** -@file include/trx0roll.ic -Transaction rollback - -Created 3/26/1996 Heikki Tuuri -*******************************************************/ - -#ifdef UNIV_DEBUG -/*******************************************************************//** -Check if undo numbering is maintained while processing undo records -for rollback. -@return true if undo numbering is maintained. */ -UNIV_INLINE -bool -trx_roll_check_undo_rec_ordering( -/*=============================*/ - undo_no_t curr_undo_rec_no, /*!< in: record number of - undo record to process. */ - ulint curr_undo_space_id, /*!< in: space-id of rollback - segment that contains the - undo record to process. */ - const trx_t* trx) /*!< in: transaction */ -{ - /* Each transaction now can have multiple rollback segments. - If a transaction involves temp and non-temp tables, both the rollback - segments will be active. In this case undo records will be distrubuted - across the two rollback segments. - CASE-1: UNDO action will apply all undo records from one rollback - segment before moving to next. This means undo record numbers can't be - sequential but ordering is still enforced as next undo record number - should be < processed undo record number. - CASE-2: For normal rollback (not initiated by crash) all rollback - segments will be active (including non-redo). - Based on transaction operation pattern undo record number of first - undo record from this new rollback segment can be > last undo number - from previous rollback segment and so we ignore this check if - rollback segments are switching. Once switched new rollback segment - should re-follow undo record number pattern (as mentioned in CASE-1). */ - - return(curr_undo_space_id != trx->undo_rseg_space - || curr_undo_rec_no + 1 <= trx->undo_no); -} -#endif /* UNIV_DEBUG */ - diff --git a/storage/innobase/include/trx0trx.h b/storage/innobase/include/trx0trx.h index 4b7ca171740..cc3cff1f849 100644 --- a/storage/innobase/include/trx0trx.h +++ b/storage/innobase/include/trx0trx.h @@ -991,9 +991,6 @@ public: with no gaps; thus it represents the number of modified/inserted rows in a transaction */ - ulint undo_rseg_space; - /*!< space id where last undo record - was written */ trx_savept_t last_sql_stat_start; /*!< undo_no when the last sql statement was started: in case of an error, trx diff --git a/storage/innobase/trx/trx0rec.cc b/storage/innobase/trx/trx0rec.cc index b681c55ee16..096dfa33ba1 100644 --- a/storage/innobase/trx/trx0rec.cc +++ b/storage/innobase/trx/trx0rec.cc @@ -1922,8 +1922,6 @@ trx_undo_report_rename(trx_t* trx, const dict_table_t* table) undo->top_undo_no = trx->undo_no++; undo->guess_block = block; - trx->undo_rseg_space - = trx->rsegs.m_redo.rseg->space->id; err = DB_SUCCESS; break; } else { @@ -2070,8 +2068,6 @@ trx_undo_report_row_operation( undo->top_undo_no = trx->undo_no++; undo->guess_block = undo_block; - trx->undo_rseg_space = rseg->space->id; - mutex_exit(&trx->undo_mutex); if (!is_temp) { diff --git a/storage/innobase/trx/trx0roll.cc b/storage/innobase/trx/trx0roll.cc index c1cce375272..4e17586ee41 100644 --- a/storage/innobase/trx/trx0roll.cc +++ b/storage/innobase/trx/trx0roll.cc @@ -1056,11 +1056,7 @@ trx_roll_pop_top_rec_of_trx(trx_t* trx, roll_ptr_t* roll_ptr, mem_heap_t* heap) break; } - ut_ad(trx_roll_check_undo_rec_ordering( - undo_no, undo->rseg->space->id, trx)); - trx->undo_no = undo_no; - trx->undo_rseg_space = undo->rseg->space->id; mutex_exit(&trx->undo_mutex); trx_undo_rec_t* undo_rec_copy = trx_undo_rec_copy(undo_rec, heap); diff --git a/storage/innobase/trx/trx0trx.cc b/storage/innobase/trx/trx0trx.cc index b50ea77a797..e9b60fff0d3 100644 --- a/storage/innobase/trx/trx0trx.cc +++ b/storage/innobase/trx/trx0trx.cc @@ -690,7 +690,6 @@ static void trx_resurrect(trx_undo_t *undo, trx_rseg_t *rseg, if (!undo->empty) { trx->undo_no= undo->top_undo_no + 1; - trx->undo_rseg_space= undo->rseg->space->id; } trx->rsegs.m_redo.rseg= rseg; @@ -795,7 +794,6 @@ trx_lists_init_at_db_start() } trx->undo_no = undo->top_undo_no + 1; - trx->undo_rseg_space = rseg->space->id; } trx_resurrect_table_locks(trx, undo); } @@ -1754,7 +1752,6 @@ trx_mark_sql_stat_end( break; case TRX_STATE_NOT_STARTED: trx->undo_no = 0; - trx->undo_rseg_space = 0; /* fall through */ case TRX_STATE_ACTIVE: trx->last_sql_stat_start.least_undo_no = trx->undo_no; |