From 13ee04a24ca97442e53f846927a31f3721594388 Mon Sep 17 00:00:00 2001 From: marko Date: Wed, 3 Dec 2008 13:37:08 +0000 Subject: [PATCH] branches/innodb+: ibuf_insert_low(): Revert the changes that were accidentally committed in r3350. The changes were a failed attempt to fix Issue #126. --- ibuf/ibuf0ibuf.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/ibuf/ibuf0ibuf.c b/ibuf/ibuf0ibuf.c index a9e10184009..0f594718460 100644 --- a/ibuf/ibuf0ibuf.c +++ b/ibuf/ibuf0ibuf.c @@ -3249,6 +3249,14 @@ ibuf_insert_low( btr_pcur_open(ibuf->index, ibuf_entry, PAGE_CUR_LE, mode, &pcur, &mtr); + /* Don't buffer deletes if the page has been read in to the buffer + pool. */ + if (op == IBUF_OP_DELETE && buf_pool_watch_occurred(space, page_no)) { + err = DB_STRONG_FAIL; + + goto function_exit; + } + /* Find out the volume of already buffered inserts for the same index page */ min_n_recs = 0; @@ -3326,25 +3334,13 @@ ibuf_insert_low( bitmap_page, page_no, zip_size, IBUF_BITMAP_BUFFERED, &bitmap_mtr); - /* Don't buffer deletes if the page has been read in to the buffer - pool. */ - if (op == IBUF_OP_DELETE && buf_pool_watch_occurred(space, page_no)) { - err = DB_STRONG_FAIL; - - mtr_commit(&bitmap_mtr); - - goto function_exit; - } - if (!old_bit_value) { ibuf_bitmap_page_set_bits(bitmap_page, page_no, zip_size, IBUF_BITMAP_BUFFERED, TRUE, &bitmap_mtr); } - if (op != IBUF_OP_DELETE) { - mtr_commit(&bitmap_mtr); - } + mtr_commit(&bitmap_mtr); cursor = btr_pcur_get_btr_cur(&pcur); @@ -3381,12 +3377,6 @@ ibuf_insert_low( ibuf_size_update(root, &mtr); } - if (op == IBUF_OP_DELETE) { - ut_a(!buf_pool_watch_occurred(space, page_no)); - - mtr_commit(&bitmap_mtr); - } - function_exit: #ifdef UNIV_IBUF_COUNT_DEBUG if (err == DB_SUCCESS) {