diff options
author | unknown <heikki@hundin.mysql.fi> | 2003-06-19 01:05:24 +0300 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2003-06-19 01:05:24 +0300 |
commit | 725a4c39d2815315a1b2aa40bc2ce6bb54d3b828 (patch) | |
tree | 228da1246265d586cfedb082299dea7616b1e79d /innobase/page | |
parent | 92542bb071c9411f35f6b5d3445d6801724f332e (diff) | |
download | mariadb-git-725a4c39d2815315a1b2aa40bc2ce6bb54d3b828.tar.gz |
page0page.c:
Track an assertion failure reported on the mailing list June 18th, 2003
innobase/page/page0page.c:
Track an assertion failure reported on the mailing list June 18th, 2003
Diffstat (limited to 'innobase/page')
-rw-r--r-- | innobase/page/page0page.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/innobase/page/page0page.c b/innobase/page/page0page.c index ef5dad60c08..e087941a970 100644 --- a/innobase/page/page0page.c +++ b/innobase/page/page0page.c @@ -446,7 +446,6 @@ page_copy_rec_list_end_no_locks( page_cur_move_to_next(&cur1); } - /* Track a memory corruption bug in Windows */ ut_a(mach_read_from_2(new_page + UNIV_PAGE_SIZE - 10) == PAGE_INFIMUM); page_cur_set_before_first(new_page, &cur2); @@ -456,11 +455,23 @@ page_copy_rec_list_end_no_locks( sup = page_get_supremum_rec(page); while (sup != page_cur_get_rec(&cur1)) { - ut_a( - page_cur_rec_insert(&cur2, page_cur_get_rec(&cur1), mtr)); + if (!page_cur_rec_insert(&cur2, + page_cur_get_rec(&cur1), mtr)) { + /* Track an assertion failure reported on the mailing + list on June 18th, 2003 */ + + buf_page_print(new_page); + buf_page_print(page); + ut_print_timestamp(stderr); + + fprintf(stderr, +"InnoDB: rec offset %lu, cur1 offset %lu, cur2 offset %lu\n", + (ulint)(rec - page), + (ulint)(page_cur_get_rec(&cur1) - page), + (ulint)(page_cur_get_rec(&cur2) - new_page)); + ut_a(0); + } - ut_a(mach_read_from_2(new_page + UNIV_PAGE_SIZE - 10) - == PAGE_INFIMUM); page_cur_move_to_next(&cur1); page_cur_move_to_next(&cur2); } |