diff --git a/storage/innobase/include/mtr0types.h b/storage/innobase/include/mtr0types.h index e47e89ae4ba..af8f1d2c7db 100644 --- a/storage/innobase/include/mtr0types.h +++ b/storage/innobase/include/mtr0types.h @@ -109,9 +109,6 @@ enum mlog_id_t { /** initialize a page in an undo log */ MLOG_UNDO_INIT = 22, - /** discard an update undo log header */ - MLOG_UNDO_HDR_DISCARD = 23, - /** reuse an insert undo log header */ MLOG_UNDO_HDR_REUSE = 24, diff --git a/storage/innobase/include/trx0undo.h b/storage/innobase/include/trx0undo.h index b1d442a9acf..20e7aaa4913 100644 --- a/storage/innobase/include/trx0undo.h +++ b/storage/innobase/include/trx0undo.h @@ -357,16 +357,6 @@ trx_undo_parse_page_header( const byte* end_ptr, page_t* page, mtr_t* mtr); -/***********************************************************//** -Parses the redo log entry of an undo log page header discard. -@return end of log record or NULL */ -byte* -trx_undo_parse_discard_latest( -/*==========================*/ - byte* ptr, /*!< in: buffer */ - byte* end_ptr,/*!< in: buffer end */ - page_t* page, /*!< in: page or NULL */ - mtr_t* mtr); /*!< in: mtr or NULL */ /************************************************************************ Frees an undo log memory copy. */ void diff --git a/storage/innobase/log/log0recv.cc b/storage/innobase/log/log0recv.cc index b9202ce985f..0a6679be721 100644 --- a/storage/innobase/log/log0recv.cc +++ b/storage/innobase/log/log0recv.cc @@ -1334,10 +1334,6 @@ parse_log: /* Allow anything in page_type when creating a page. */ ptr = trx_undo_parse_page_init(ptr, end_ptr, page, mtr); break; - case MLOG_UNDO_HDR_DISCARD: - ut_ad(!page || page_type == FIL_PAGE_UNDO_LOG); - ptr = trx_undo_parse_discard_latest(ptr, end_ptr, page, mtr); - break; case MLOG_UNDO_HDR_CREATE: case MLOG_UNDO_HDR_REUSE: ut_ad(!page || page_type == FIL_PAGE_UNDO_LOG); @@ -3564,9 +3560,6 @@ get_mlog_string(mlog_id_t type) case MLOG_UNDO_INIT: return("MLOG_UNDO_INIT"); - case MLOG_UNDO_HDR_DISCARD: - return("MLOG_UNDO_HDR_DISCARD"); - case MLOG_UNDO_HDR_REUSE: return("MLOG_UNDO_HDR_REUSE"); diff --git a/storage/innobase/trx/trx0undo.cc b/storage/innobase/trx/trx0undo.cc index bb69d3651e1..e8bea3a2199 100644 --- a/storage/innobase/trx/trx0undo.cc +++ b/storage/innobase/trx/trx0undo.cc @@ -132,15 +132,6 @@ trx_undo_insert_header_reuse( header page, x-latched */ trx_id_t trx_id, /*!< in: transaction id */ mtr_t* mtr); /*!< in: mtr */ -/**********************************************************************//** -If an update undo log can be discarded immediately, this function frees the -space, resetting the page to the proper state for caching. */ -static -void -trx_undo_discard_latest_update_undo( -/*================================*/ - page_t* undo_page, /*!< in: header page of an undo log of size 1 */ - mtr_t* mtr); /*!< in: mtr */ /***********************************************************************//** Gets the previous record in an undo log from the previous page. @@ -783,80 +774,6 @@ trx_undo_insert_header_reuse( return(free); } -/**********************************************************************//** -Writes the redo log entry of an update undo log header discard. */ -UNIV_INLINE -void -trx_undo_discard_latest_log( -/*========================*/ - page_t* undo_page, /*!< in: undo log header page */ - mtr_t* mtr) /*!< in: mtr */ -{ - mlog_write_initial_log_record(undo_page, MLOG_UNDO_HDR_DISCARD, mtr); -} - -/***********************************************************//** -Parses the redo log entry of an undo log page header discard. -@return end of log record or NULL */ -byte* -trx_undo_parse_discard_latest( -/*==========================*/ - byte* ptr, /*!< in: buffer */ - byte* end_ptr MY_ATTRIBUTE((unused)), /*!< in: buffer end */ - page_t* page, /*!< in: page or NULL */ - mtr_t* mtr) /*!< in: mtr or NULL */ -{ - ut_ad(end_ptr); - - if (page) { - trx_undo_discard_latest_update_undo(page, mtr); - } - - return(ptr); -} - -/**********************************************************************//** -If an update undo log can be discarded immediately, this function frees the -space, resetting the page to the proper state for caching. */ -static -void -trx_undo_discard_latest_update_undo( -/*================================*/ - page_t* undo_page, /*!< in: header page of an undo log of size 1 */ - mtr_t* mtr) /*!< in: mtr */ -{ - trx_usegf_t* seg_hdr; - trx_upagef_t* page_hdr; - trx_ulogf_t* log_hdr; - trx_ulogf_t* prev_log_hdr; - ulint free; - ulint prev_hdr_offset; - - seg_hdr = undo_page + TRX_UNDO_SEG_HDR; - page_hdr = undo_page + TRX_UNDO_PAGE_HDR; - - free = mach_read_from_2(seg_hdr + TRX_UNDO_LAST_LOG); - log_hdr = undo_page + free; - - prev_hdr_offset = mach_read_from_2(log_hdr + TRX_UNDO_PREV_LOG); - - if (prev_hdr_offset != 0) { - prev_log_hdr = undo_page + prev_hdr_offset; - - mach_write_to_2(page_hdr + TRX_UNDO_PAGE_START, - mach_read_from_2(prev_log_hdr - + TRX_UNDO_LOG_START)); - mach_write_to_2(prev_log_hdr + TRX_UNDO_NEXT_LOG, 0); - } - - mach_write_to_2(page_hdr + TRX_UNDO_PAGE_FREE, free); - - mach_write_to_2(seg_hdr + TRX_UNDO_STATE, TRX_UNDO_CACHED); - mach_write_to_2(seg_hdr + TRX_UNDO_LAST_LOG, prev_hdr_offset); - - trx_undo_discard_latest_log(undo_page, mtr); -} - /** Allocate an undo log page. @param[in,out] trx transaction @param[in,out] undo undo log