summaryrefslogtreecommitdiff
path: root/innobase/ibuf
diff options
context:
space:
mode:
authorheikki@hundin.mysql.fi <>2002-12-22 01:54:29 +0200
committerheikki@hundin.mysql.fi <>2002-12-22 01:54:29 +0200
commit843e1d8e9c6bff2b25a2ac8c367f9d7fcbc528cc (patch)
tree120402316f5b15cb879b72bdb1c4cf59c8d932cb /innobase/ibuf
parentf03bbd3fe28455885603890a21eebfe2792f2704 (diff)
downloadmariadb-git-843e1d8e9c6bff2b25a2ac8c367f9d7fcbc528cc.tar.gz
Many files:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE sql_select.cc: Remove superfluous prints to .err log when a locking SELECT fails to a deadlock or a lock wait timeout
Diffstat (limited to 'innobase/ibuf')
-rw-r--r--innobase/ibuf/ibuf0ibuf.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/innobase/ibuf/ibuf0ibuf.c b/innobase/ibuf/ibuf0ibuf.c
index 143b3bfa584..668e9419c24 100644
--- a/innobase/ibuf/ibuf0ibuf.c
+++ b/innobase/ibuf/ibuf0ibuf.c
@@ -2657,10 +2657,7 @@ reset_bit:
new_bits, &mtr);
}
}
-
- ibuf_data->n_merges++;
- ibuf_data->n_merged_recs += n_inserts;
-
+
#ifdef UNIV_IBUF_DEBUG
/* printf("Ibuf merge %lu records volume %lu to page no %lu\n",
n_inserts, volume, page_no); */
@@ -2670,6 +2667,14 @@ reset_bit:
mem_heap_free(heap);
+ /* Protect our statistics keeping from race conditions */
+ mutex_enter(&ibuf_mutex);
+
+ ibuf_data->n_merges++;
+ ibuf_data->n_merged_recs += n_inserts;
+
+ mutex_exit(&ibuf_mutex);
+
ibuf_exit();
#ifdef UNIV_IBUF_DEBUG
ut_a(ibuf_count_get(space, page_no) == 0);