summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-04-25 00:14:12 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2018-04-25 07:56:11 +0300
commite3fb8e95692fcb554d83a76c5dd6e0b9a6c62728 (patch)
treebe13770f44dcf5881dcbd092b099f143b785b92a
parent7396dfcca7a1eb906edabec02fb59d168f09343d (diff)
downloadmariadb-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.h2
-rw-r--r--storage/innobase/include/trx0roll.ic62
-rw-r--r--storage/innobase/include/trx0trx.h3
-rw-r--r--storage/innobase/trx/trx0rec.cc4
-rw-r--r--storage/innobase/trx/trx0roll.cc4
-rw-r--r--storage/innobase/trx/trx0trx.cc3
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;