diff options
Diffstat (limited to 'storage/innobase/include/trx0purge.ic')
-rw-r--r-- | storage/innobase/include/trx0purge.ic | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/storage/innobase/include/trx0purge.ic b/storage/innobase/include/trx0purge.ic new file mode 100644 index 00000000000..ca9cc1fb894 --- /dev/null +++ b/storage/innobase/include/trx0purge.ic @@ -0,0 +1,62 @@ +/***************************************************************************** + +Copyright (c) 1996, 2009, 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/trx0purge.ic +Purge old versions + +Created 3/26/1996 Heikki Tuuri +*******************************************************/ + +#include "trx0undo.h" + +/********************************************************************//** +Calculates the file address of an undo log header when we have the file +address of its history list node. +@return file address of the log */ +UNIV_INLINE +fil_addr_t +trx_purge_get_log_from_hist( +/*========================*/ + fil_addr_t node_addr) /*!< in: file address of the history + list node of the log */ +{ + node_addr.boffset -= TRX_UNDO_HISTORY_NODE; + + return(node_addr); +} + +#ifdef UNIV_DEBUG +/********************************************************************//** +address of its history list node. +@return TRUE if purge_sys_t::limit <= purge_sys_t::iter*/ +UNIV_INLINE +ibool +trx_purge_check_limit(void) +/*=======================*/ +{ + ut_ad(purge_sys->limit.trx_no <= purge_sys->iter.trx_no); + + if (purge_sys->limit.trx_no == purge_sys->iter.trx_no) { + ut_ad(purge_sys->limit.undo_no <= purge_sys->iter.undo_no); + } + + return(TRUE); +} +#endif /* UNIV_DEBUG */ + |