diff options
author | Inaam Rana <inaam.rana@oracle.com> | 2011-09-30 07:02:19 -0400 |
---|---|---|
committer | Inaam Rana <inaam.rana@oracle.com> | 2011-09-30 07:02:19 -0400 |
commit | c95fdd936e73eb3bddad3fe02d087ccce67b00c9 (patch) | |
tree | d7e78f1f58f18ffbdf4b3095e47ff3db52ebe8ca /storage/innobase/page/page0cur.c | |
parent | 0e6afc7f6b1fef4e639f2012332c46301d3af1cb (diff) | |
download | mariadb-git-c95fdd936e73eb3bddad3fe02d087ccce67b00c9.tar.gz |
Revert original fix for Bug 12612184 and the follow up fix for
Bug 12704861.
Bug 12704861 fix was revno: 3504.1.1 (rb://693)
Bug 12612184 fix was revno: 3445.1.10 (rb://678)
Diffstat (limited to 'storage/innobase/page/page0cur.c')
-rw-r--r-- | storage/innobase/page/page0cur.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/storage/innobase/page/page0cur.c b/storage/innobase/page/page0cur.c index b8c492328e8..936762b986a 100644 --- a/storage/innobase/page/page0cur.c +++ b/storage/innobase/page/page0cur.c @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2011, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2009, Innobase Oy. 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 @@ -1180,15 +1180,14 @@ page_cur_insert_rec_zip_reorg( /* Before trying to reorganize the page, store the number of preceding records on the page. */ pos = page_rec_get_n_recs_before(rec); - ut_ad(pos > 0); if (page_zip_reorganize(block, index, mtr)) { /* The page was reorganized: Find rec by seeking to pos, and update *current_rec. */ - if (pos > 1) { - rec = page_rec_get_nth(page, pos - 1); - } else { - rec = page + PAGE_NEW_INFIMUM; + rec = page + PAGE_NEW_INFIMUM; + + while (--pos) { + rec = page + rec_get_next_offs(rec, TRUE); } *current_rec = rec; @@ -1284,12 +1283,6 @@ page_cur_insert_rec_zip( insert_rec = page_cur_insert_rec_zip_reorg( current_rec, block, index, insert_rec, page, page_zip, mtr); -#ifdef UNIV_DEBUG - if (insert_rec) { - rec_offs_make_valid( - insert_rec, index, offsets); - } -#endif /* UNIV_DEBUG */ } return(insert_rec); |