summaryrefslogtreecommitdiff
path: root/storage/innobase/page/page0cur.c
diff options
context:
space:
mode:
authorInaam Rana <inaam.rana@oracle.com>2011-09-30 07:02:19 -0400
committerInaam Rana <inaam.rana@oracle.com>2011-09-30 07:02:19 -0400
commitc95fdd936e73eb3bddad3fe02d087ccce67b00c9 (patch)
treed7e78f1f58f18ffbdf4b3095e47ff3db52ebe8ca /storage/innobase/page/page0cur.c
parent0e6afc7f6b1fef4e639f2012332c46301d3af1cb (diff)
downloadmariadb-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.c17
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);