summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2001-01-26 20:00:42 -0700
committerunknown <sasha@mysql.sashanet.com>2001-01-26 20:00:42 -0700
commiteb5706d128539f1aa98690793e9344df280f98c8 (patch)
tree34fc82c32df58fa2ccbcfe388b654b363c872ab2 /sql
parent70e783fa2e22e03f3ffd59038ceb26fcef577f68 (diff)
downloadmariadb-git-eb5706d128539f1aa98690793e9344df280f98c8.tar.gz
Table_locks_waited
Table_locks_immediate mysys/thr_lock.c: count locks sql/mysqld.cc: count locks sql/sql_base.cc: count locks
Diffstat (limited to 'sql')
-rw-r--r--sql/mysqld.cc3
-rw-r--r--sql/sql_base.cc4
2 files changed, 6 insertions, 1 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index f9c4d10f46f..36fc5a49148 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -260,6 +260,7 @@ ulong query_id=1L,long_query_count,long_query_time,aborted_threads,
delayed_queue_size,delayed_insert_threads,delayed_insert_writes,
delayed_rows_in_use,delayed_insert_errors,flush_time, thread_created;
ulong filesort_rows, filesort_range_count, filesort_scan_count;
+extern "C" ulong locks_immediate, locks_waited;
ulong filesort_merge_passes;
ulong select_range_check_count, select_range_count, select_scan_count;
ulong select_full_range_join_count,select_full_join_count;
@@ -2804,6 +2805,8 @@ struct show_var_st status_vars[]= {
{"Sort_range", (char*) &filesort_range_count, SHOW_LONG},
{"Sort_rows", (char*) &filesort_rows, SHOW_LONG},
{"Sort_scan", (char*) &filesort_scan_count, SHOW_LONG},
+ {"Table_locks_immediate", (char*) &locks_immediate, SHOW_LONG},
+ {"Table_locks_waited", (char*) &locks_waited, SHOW_LONG},
{"Threads_cached", (char*) &cached_thread_count, SHOW_LONG_CONST},
{"Threads_created", (char*) &thread_created, SHOW_LONG_CONST},
{"Threads_connected", (char*) &thread_count, SHOW_INT_CONST},
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index 96d6ea660aa..ed7a8027079 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -32,6 +32,7 @@
TABLE *unused_tables; /* Used by mysql_test */
HASH open_cache; /* Used by mysql_test */
+extern "C" ulong locks_waited, locks_immediate;
static int open_unireg_entry(THD *thd,TABLE *entry,const char *db,
const char *name, const char *alias, bool locked);
@@ -1166,7 +1167,8 @@ bool wait_for_tables(THD *thd)
{
/* Now we can open all tables without any interference */
thd->proc_info="Reopen tables";
- result=reopen_tables(thd,0,0);
+ if(!(result=reopen_tables(thd,0,0)))
+ ++locks_waited;
}
pthread_mutex_unlock(&LOCK_open);
thd->proc_info=0;