List:Commits« Previous MessageNext Message »
From:marko.makela Date:September 9 2010 10:48am
Subject:bzr commit into mysql-5.5-innodb branch (marko.makela:3175)
View as plain text  
#At file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ based on revid:marko.makela@stripped3hgtqz6ujva9

 3175 Marko Mäkelä	2010-09-09
      ibuf_insert_to_index_page(): Remove bogus code added for delete buffering.
      In early development of delete buffering, we did allow B-tree pages
      to become empty as a result of buffered deletes. That caused fundamental
      problems. The fix was to refuse buffering purge operations unless
      the page can be guaranteed to be nonempty. Remove an attempt to
      cope with empty pages when merging inserts.

    modified:
      storage/innobase/ibuf/ibuf0ibuf.c
=== modified file 'storage/innobase/ibuf/ibuf0ibuf.c'
--- a/storage/innobase/ibuf/ibuf0ibuf.c	revid:marko.makela@stripped
+++ b/storage/innobase/ibuf/ibuf0ibuf.c	revid:marko.makela@oracle.com-20100909104800-rr27pzs6rnqvwc29
@@ -3779,17 +3779,11 @@ ibuf_insert_to_index_page(
 	rec = page_rec_get_next(page_get_infimum_rec(page));
 
 	if (page_rec_is_supremum(rec)) {
-		/* Empty pages can result from buffered delete operations.
-		The first record from the free list can be used to find the
-		father node. */
-		rec = page_header_get_ptr(page, PAGE_FREE);
-		if (UNIV_UNLIKELY(rec == NULL)) {
-			fputs("InnoDB: Trying to insert a record from"
-			      " the insert buffer to an index page\n"
-			      "InnoDB: but the index page is empty!\n",
-			      stderr);
-			goto dump;
-		}
+		fputs("InnoDB: Trying to insert a record from"
+		      " the insert buffer to an index page\n"
+		      "InnoDB: but the index page is empty!\n",
+		      stderr);
+		goto dump;
 	}
 
 	if (UNIV_UNLIKELY(rec_get_n_fields(rec, index)

Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20100909104800-rr27pzs6rnqvwc29.bundle
Thread
bzr commit into mysql-5.5-innodb branch (marko.makela:3175) marko.makela9 Sep