summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2002-11-07 21:04:26 +0200
committerunknown <heikki@hundin.mysql.fi>2002-11-07 21:04:26 +0200
commitf57822ccfd0315e081f72799c2b6213ccab617fa (patch)
tree1cd2cb7bd2df9d2e450c2ea60c99b7e1444f491e /innobase
parent4fa5e50edbba856a2fe60d1dde7eb5571f42bd68 (diff)
downloadmariadb-git-f57822ccfd0315e081f72799c2b6213ccab617fa.tar.gz
btr0btr.c, buf0buf.c:
Fix a glitch: under heavy ibuf activity InnoDB could print the whole contents of ibuf tree to the error log innobase/buf/buf0buf.c: Fix a glitch: under heavy ibuf activity InnoDB could print the whole contents of ibuf tree to the error log innobase/btr/btr0btr.c: Fix a glitch: under heavy ibuf activity InnoDB could print the whole contents of ibuf tree to the error log
Diffstat (limited to 'innobase')
-rw-r--r--innobase/btr/btr0btr.c8
-rw-r--r--innobase/buf/buf0buf.c10
2 files changed, 13 insertions, 5 deletions
diff --git a/innobase/btr/btr0btr.c b/innobase/btr/btr0btr.c
index 62a86d342a2..e4cfdf80fc6 100644
--- a/innobase/btr/btr0btr.c
+++ b/innobase/btr/btr0btr.c
@@ -2310,6 +2310,14 @@ btr_index_rec_validate(
ulint i;
char err_buf[1000];
+ if (index->type & DICT_UNIVERSAL) {
+ /* The insert buffer index tree can contain records from any
+ other index: we cannot check the number of fields or
+ their length */
+
+ return(TRUE);
+ }
+
n = dict_index_get_n_fields(index);
if (rec_get_n_fields(rec) != n) {
diff --git a/innobase/buf/buf0buf.c b/innobase/buf/buf0buf.c
index 4524fa1a4f9..c9a5ec5307f 100644
--- a/innobase/buf/buf0buf.c
+++ b/innobase/buf/buf0buf.c
@@ -1357,11 +1357,6 @@ buf_page_create(
ut_ad(mtr);
free_block = buf_LRU_get_free_block();
-
- /* Delete possible entries for the page from the insert buffer:
- such can exist if the page belonged to an index which was dropped */
-
- ibuf_merge_or_delete_for_page(NULL, space, offset);
mutex_enter(&(buf_pool->mutex));
@@ -1410,6 +1405,11 @@ buf_page_create(
mutex_exit(&(buf_pool->mutex));
+ /* Delete possible entries for the page from the insert buffer:
+ such can exist if the page belonged to an index which was dropped */
+
+ ibuf_merge_or_delete_for_page(NULL, space, offset);
+
/* Flush pages from the end of the LRU list if necessary */
buf_flush_free_margin();