From d298b02233b6f6be71208418bec6243123593c3c Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Tue, 2 Jun 2015 15:35:02 +0400 Subject: [PATCH] MDEV-8191 - THD::set_query() takes 0.07% in OLTP RO Moved THD::set_query() definition to sql_class.h so that it can be inlined. Overhead change: THD::set_query 0.07% -> out of radar --- sql/sql_class.cc | 13 ------------- sql/sql_class.h | 11 ++++++++++- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 13d6ab7fec7..9662e5db0dd 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -5064,19 +5064,6 @@ void THD::set_command(enum enum_server_command command) #endif } -/** Assign a new value to thd->query. */ - -void THD::set_query(const CSET_STRING &string_arg) -{ - mysql_mutex_lock(&LOCK_thd_data); - set_query_inner(string_arg); - mysql_mutex_unlock(&LOCK_thd_data); - -#ifdef HAVE_PSI_THREAD_INTERFACE - PSI_THREAD_CALL(set_thread_info)(query(), query_length()); -#endif -} - /** Assign a new value to thd->query and thd->query_id. */ void THD::set_query_and_id(char *query_arg, uint32 query_length_arg, diff --git a/sql/sql_class.h b/sql/sql_class.h index aff6e35f583..2b832b121f8 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -3704,7 +3704,16 @@ public: { set_query(CSET_STRING(query_arg, query_length_arg, charset())); } - void set_query(const CSET_STRING &str); /* Mutex protected */ + void set_query(const CSET_STRING &string_arg) + { + mysql_mutex_lock(&LOCK_thd_data); + set_query_inner(string_arg); + mysql_mutex_unlock(&LOCK_thd_data); + +#ifdef HAVE_PSI_THREAD_INTERFACE + PSI_THREAD_CALL(set_thread_info)(query(), query_length()); +#endif + } void reset_query() /* Mutex protected */ { set_query(CSET_STRING()); } void set_query_and_id(char *query_arg, uint32 query_length_arg,