diff --git a/innobase/buf/buf0buf.c b/innobase/buf/buf0buf.c index ff7622aca81..f24f1744363 100644 --- a/innobase/buf/buf0buf.c +++ b/innobase/buf/buf0buf.c @@ -649,7 +649,7 @@ buf_pool_init( } } - buf_pool->page_hash = hash0_create(2 * max_size); + buf_pool->page_hash = hash_create(2 * max_size); buf_pool->n_pend_reads = 0; diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c index 4ceeb4cafc0..ba03e1f5e41 100644 --- a/innobase/dict/dict0dict.c +++ b/innobase/dict/dict0dict.c @@ -708,13 +708,13 @@ dict_init(void) mutex_create(&(dict_sys->mutex)); mutex_set_level(&(dict_sys->mutex), SYNC_DICT); - dict_sys->table_hash = hash0_create(buf_pool_get_max_size() / + dict_sys->table_hash = hash_create(buf_pool_get_max_size() / (DICT_POOL_PER_TABLE_HASH * UNIV_WORD_SIZE)); - dict_sys->table_id_hash = hash0_create(buf_pool_get_max_size() / + dict_sys->table_id_hash = hash_create(buf_pool_get_max_size() / (DICT_POOL_PER_TABLE_HASH * UNIV_WORD_SIZE)); - dict_sys->col_hash = hash0_create(buf_pool_get_max_size() / + dict_sys->col_hash = hash_create(buf_pool_get_max_size() / (DICT_POOL_PER_COL_HASH * UNIV_WORD_SIZE)); dict_sys->size = 0; diff --git a/innobase/fil/fil0fil.c b/innobase/fil/fil0fil.c index 460a2c9f7b8..65320b57183 100644 --- a/innobase/fil/fil0fil.c +++ b/innobase/fil/fil0fil.c @@ -1294,8 +1294,8 @@ fil_system_create( mutex_set_level(&(system->mutex), SYNC_ANY_LATCH); - system->spaces = hash0_create(hash_size); - system->name_hash = hash0_create(hash_size); + system->spaces = hash_create(hash_size); + system->name_hash = hash_create(hash_size); UT_LIST_INIT(system->LRU); diff --git a/innobase/ha/ha0ha.c b/innobase/ha/ha0ha.c index 4c17f2d4b0e..ab565acd64f 100644 --- a/innobase/ha/ha0ha.c +++ b/innobase/ha/ha0ha.c @@ -32,7 +32,7 @@ ha_create( hash_table_t* table; ulint i; - table = hash0_create(n); + table = hash_create(n); if (in_btr_search) { table->adaptive = TRUE; diff --git a/innobase/ha/hash0hash.c b/innobase/ha/hash0hash.c index 18b5b3cefd6..facdea66198 100644 --- a/innobase/ha/hash0hash.c +++ b/innobase/ha/hash0hash.c @@ -74,7 +74,7 @@ Creates a hash table with >= n array cells. The actual number of cells is chosen to be a prime number slightly bigger than n. */ hash_table_t* -hash0_create( +hash_create( /*========*/ /* out, own: created table */ ulint n) /* in: number of array cells */ diff --git a/innobase/include/hash0hash.h b/innobase/include/hash0hash.h index 3abc05f174c..13f46760698 100644 --- a/innobase/include/hash0hash.h +++ b/innobase/include/hash0hash.h @@ -18,12 +18,15 @@ typedef struct hash_cell_struct hash_cell_t; typedef void* hash_node_t; +/* Fix Bug #13859: symbol collision between imap/mysql */ +#define hash_create hash0_create + /***************************************************************** Creates a hash table with >= n array cells. The actual number of cells is chosen to be a prime number slightly bigger than n. */ hash_table_t* -hash0_create( +hash_create( /*========*/ /* out, own: created table */ ulint n); /* in: number of array cells */ diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c index 52bb369d479..06475c8ef7e 100644 --- a/innobase/lock/lock0lock.c +++ b/innobase/lock/lock0lock.c @@ -584,7 +584,7 @@ lock_sys_create( { lock_sys = mem_alloc(sizeof(lock_sys_t)); - lock_sys->rec_hash = hash0_create(n_cells); + lock_sys->rec_hash = hash_create(n_cells); /* hash_create_mutexes(lock_sys->rec_hash, 2, SYNC_REC_LOCK); */ diff --git a/innobase/log/log0recv.c b/innobase/log/log0recv.c index e92b65ed139..c1ceb9791f2 100644 --- a/innobase/log/log0recv.c +++ b/innobase/log/log0recv.c @@ -148,7 +148,7 @@ recv_sys_init( recv_sys->len = 0; recv_sys->recovered_offset = 0; - recv_sys->addr_hash = hash0_create(available_memory / 64); + recv_sys->addr_hash = hash_create(available_memory / 64); recv_sys->n_addrs = 0; recv_sys->apply_log_recs = FALSE; @@ -187,7 +187,7 @@ recv_sys_empty_hash(void) hash_table_free(recv_sys->addr_hash); mem_heap_empty(recv_sys->heap); - recv_sys->addr_hash = hash0_create(buf_pool_get_curr_size() / 256); + recv_sys->addr_hash = hash_create(buf_pool_get_curr_size() / 256); } /************************************************************ diff --git a/innobase/thr/thr0loc.c b/innobase/thr/thr0loc.c index f71048af2ba..033bb22807f 100644 --- a/innobase/thr/thr0loc.c +++ b/innobase/thr/thr0loc.c @@ -224,7 +224,7 @@ thr_local_init(void) ut_a(thr_local_hash == NULL); - thr_local_hash = hash0_create(OS_THREAD_MAX_N + 100); + thr_local_hash = hash_create(OS_THREAD_MAX_N + 100); mutex_create(&thr_local_mutex); mutex_set_level(&thr_local_mutex, SYNC_THR_LOCAL); diff --git a/scripts/mysql_explain_log.sh b/scripts/mysql_explain_log.sh index ad23a42451f..a549817db5a 100644 --- a/scripts/mysql_explain_log.sh +++ b/scripts/mysql_explain_log.sh @@ -21,9 +21,6 @@ use DBI; use Getopt::Long; $Getopt::Long::ignorecase=0; -print "explain_log provided by http://www.mobile.de\n"; -print "=========== ================================\n"; - my $Param={}; $Param->{host}=''; @@ -32,16 +29,28 @@ $Param->{password}=''; $Param->{PrintError}=0; $Param->{socket}=''; -if (!GetOptions ('date|d:i' => \$Param->{ViewDate}, +my $help; + +if (!GetOptions ( + 'date|d:i' => \$Param->{ViewDate}, 'host|h:s' => \$Param->{host}, 'user|u:s' => \$Param->{user}, 'password|p:s' => \$Param->{password}, 'printerror|e:s' => \$Param->{PrintError}, 'socket|s:s' => \$Param->{socket}, + 'help|h' => \$help, )) { ShowOptions(); + exit(0); } -else { +if (defined ($help)) { + ShowOptions(); + exit(0); +} + + print "explain_log provided by http://www.mobile.de\n"; + print "=========== ================================\n"; + $Param->{UpdateCount} = 0; $Param->{SelectCount} = 0; $Param->{IdxUseCount} = 0; @@ -245,7 +254,6 @@ else { print "Finished: \t".localtime(time)."\n"; } -} ########################################################################### @@ -323,21 +331,26 @@ sub ShowOptions { print <