Commit c829e1c4 authored by marko's avatar marko

branches/innodb+: ibuf_insert_to_index_page(): When the page is empty, look

at the first deleted record when checking the number of fields.
This fixes part of Issue #82.
parent c25e0221
......@@ -3330,6 +3330,20 @@ 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;
}
}
if (UNIV_UNLIKELY(rec_get_n_fields(rec, index)
!= dtuple_get_n_fields(entry))) {
fputs("InnoDB: Trying to insert a record from"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment