diff --git a/page/page0cur.c b/page/page0cur.c index 26730185b64..0ba19897e30 100644 --- a/page/page0cur.c +++ b/page/page0cur.c @@ -1160,6 +1160,7 @@ use_heap: if (!page_zip_decompress(page_zip_orig, page)) { ut_error; /* Memory corrupted? */ } + ut_ad(page_validate(page, index)); return(NULL); } diff --git a/page/page0page.c b/page/page0page.c index 83d071d5eeb..46596d87ee0 100644 --- a/page/page0page.c +++ b/page/page0page.c @@ -620,6 +620,7 @@ page_copy_rec_list_end( new_page))) { ut_error; } + ut_ad(page_validate(new_page, index)); return(NULL); } else { /* The page was reorganized: @@ -729,7 +730,7 @@ page_copy_rec_list_start( new_page))) { ut_error; } - + ut_ad(page_validate(new_page, index)); return(NULL); } else { /* The page was reorganized: diff --git a/page/page0zip.c b/page/page0zip.c index deeccabd335..5662f684f91 100644 --- a/page/page0zip.c +++ b/page/page0zip.c @@ -1544,16 +1544,14 @@ page_zip_apply_log( Decompress a page. This function should tolerate errors on the compressed page. Instead of letting assertions fail, it will return FALSE if an inconsistency is detected. */ -static + ibool -page_zip_decompress_low( -/*====================*/ +page_zip_decompress( +/*================*/ /* out: TRUE on success, FALSE on failure */ page_zip_des_t* page_zip,/* in: data, size; out: m_start, m_end, n_blobs */ - page_t* page, /* out: uncompressed page, may be trashed */ - ibool do_validate __attribute__((unused))) - /* in: TRUE=assert page_validate() */ + page_t* page) /* out: uncompressed page, may be trashed */ { z_stream d_stream; dict_index_t* index = NULL; @@ -2015,7 +2013,6 @@ err_exit: recs_done: ut_a(page_is_comp(page)); - ut_ad(!do_validate || page_validate(page, index)); page_zip_fields_free(index); mem_heap_free(heap); @@ -2023,22 +2020,6 @@ recs_done: return(TRUE); } -/************************************************************************** -Decompress a page. This function should tolerate errors on the compressed -page. Instead of letting assertions fail, it will return FALSE if an -inconsistency is detected. */ - -ibool -page_zip_decompress( -/*================*/ - /* out: TRUE on success, FALSE on failure */ - page_zip_des_t* page_zip,/* in: data, size; - out: m_start, m_end, n_blobs */ - page_t* page) /* out: uncompressed page, may be trashed */ -{ - return(page_zip_decompress_low(page_zip, page, TRUE)); -} - #ifdef UNIV_ZIP_DEBUG /* Flag: make page_zip_validate() compare page headers only */ ibool page_zip_validate_header_only = FALSE; @@ -2080,7 +2061,7 @@ page_zip_validate( temp_page_buf = ut_malloc(2 * UNIV_PAGE_SIZE); temp_page = ut_align(temp_page_buf, UNIV_PAGE_SIZE); - valid = page_zip_decompress_low(&temp_page_zip, temp_page, FALSE); + valid = page_zip_decompress(&temp_page_zip, temp_page); if (!valid) { fputs("page_zip_validate(): failed to decompress\n", stderr); goto func_exit;