diff options
Diffstat (limited to 'sql/sql_test.cc')
-rw-r--r-- | sql/sql_test.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sql/sql_test.cc b/sql/sql_test.cc index 8588d6564ca..ae16a281277 100644 --- a/sql/sql_test.cc +++ b/sql/sql_test.cc @@ -88,9 +88,9 @@ static void print_cached_tables(void) puts("DB Table Version Thread Open Lock"); tdc_it.init(); - mysql_mutex_lock(&LOCK_open); while ((share= tdc_it.next())) { + mysql_mutex_lock(&share->tdc.LOCK_table_share); TABLE_SHARE::All_share_tables_list::Iterator it(share->tdc.all_tables); while ((entry= it++)) { @@ -102,8 +102,8 @@ static void print_cached_tables(void) in_use ? lock_descriptions[(int)entry->reginfo.lock_type] : "Not in use"); } + mysql_mutex_unlock(&share->tdc.LOCK_table_share); } - mysql_mutex_unlock(&LOCK_open); tdc_it.deinit(); printf("\nCurrent refresh version: %ld\n", tdc_refresh_version()); fflush(stdout); @@ -383,6 +383,15 @@ void print_sjm(SJ_MATERIALIZATION_INFO *sjm) } /* purecov: end */ +/* + Debugging help: force List<...>::elem function not be removed as unused. +*/ +Item* (List<Item>:: *dbug_list_item_elem_ptr)(int)= &List<Item>::elem; +Item_equal* (List<Item_equal>:: *dbug_list_item_equal_elem_ptr)(int)= + &List<Item_equal>::elem; +TABLE_LIST* (List<TABLE_LIST>:: *dbug_list_table_list_elem_ptr)(int) = + &List<TABLE_LIST>::elem; + #endif typedef struct st_debug_lock @@ -606,7 +615,6 @@ Next alarm time: %lu\n", (ulong)alarm_info.next_alarm_time); #endif display_table_locks(); - fflush(stdout); #ifdef HAVE_MALLINFO struct mallinfo info= mallinfo(); printf("\nMemory status:\n\ @@ -638,4 +646,5 @@ Estimated memory (with thread stack): %ld\n", Events::dump_internal_status(); #endif puts(""); + fflush(stdout); } |