/***************************************************************************** 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 */