summaryrefslogtreecommitdiff
path: root/innobase/fil
diff options
context:
space:
mode:
authorunknown <tsmith@maint1.mysql.com>2006-08-01 21:59:58 +0200
committerunknown <tsmith@maint1.mysql.com>2006-08-01 21:59:58 +0200
commit75e40b161b5cbbea28eca2641e6dfadaf09267a1 (patch)
tree195dc86dc4ffee1c3ceca3e742282a2bf9633a2b /innobase/fil
parentedeea349b9cf8125c3ca19eff144b1334fddad28 (diff)
downloadmariadb-git-75e40b161b5cbbea28eca2641e6dfadaf09267a1.tar.gz
Applied innodb-5.0-ss677 snapshot.
Fixes: - bug #19834: Using cursors when running in READ-COMMITTED can cause InnoDB to crash - bug #21112: InnoDB slow with > 100,000 .ibd files - bug #21113: Duplicate printout in SHOW INNODB STATUS innobase/fil/fil0fil.c: Applied innodb-5.0-ss677 snapshot. Make the tablespace cache hash size 100 or 1000 times bigger. Fixes bug #21112. innobase/ibuf/ibuf0ibuf.c: Applied innodb-5.0-ss677 snapshot. ibuf_print(): Don't print redundant information. Fixes bug #21113. sql/ha_innodb.cc: Applied innodb-5.0-ss677 snapshot. ha_innobase::start_stmt(): patch from Heikki: Do not call read_view_close_for_mysql(). (Bug #19834)
Diffstat (limited to 'innobase/fil')
-rw-r--r--innobase/fil/fil0fil.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/innobase/fil/fil0fil.c b/innobase/fil/fil0fil.c
index cfd9813101d..2272f7cd8b3 100644
--- a/innobase/fil/fil0fil.c
+++ b/innobase/fil/fil0fil.c
@@ -251,9 +251,6 @@ struct fil_system_struct {
initialized. */
fil_system_t* fil_system = NULL;
-/* The tablespace memory cache hash table size */
-#define FIL_SYSTEM_HASH_SIZE 50 /* TODO: make bigger! */
-
/************************************************************************
NOTE: you must call fil_mutex_enter_and_prepare_for_io() first!
@@ -1324,11 +1321,17 @@ fil_init(
/*=====*/
ulint max_n_open) /* in: max number of open files */
{
+ ulint hash_size;
+
ut_a(fil_system == NULL);
- /*printf("Initializing the tablespace cache with max %lu open files\n",
- max_n_open); */
- fil_system = fil_system_create(FIL_SYSTEM_HASH_SIZE, max_n_open);
+ if (srv_file_per_table) {
+ hash_size = 50000;
+ } else {
+ hash_size = 5000;
+ }
+
+ fil_system = fil_system_create(hash_size, max_n_open);
}
/***********************************************************************