From adb952f548be1cf07ee12a8876ee2f26d0737458 Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Tue, 2 Jun 2015 15:37:04 +0400 Subject: [PATCH] MDEV-8192 - THD::set_command() takes 0.05% in OLTP RO Moved THD::set_command() definition to sql_class.h so that it can be inlined. Overhead change: THD::set_command 0.05% -> out of radar --- sql/sql_class.cc | 8 -------- sql/sql_class.h | 8 +++++++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 9662e5db0dd..e025041d2e2 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -5056,14 +5056,6 @@ void THD::set_status_no_good_index_used() #endif } -void THD::set_command(enum enum_server_command command) -{ - m_command= command; -#ifdef HAVE_PSI_THREAD_INTERFACE - PSI_STATEMENT_CALL(set_thread_command)(m_command); -#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 2b832b121f8..176d739f38f 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -3687,7 +3687,13 @@ private: public: /** Overloaded to guard query/query_length fields */ virtual void set_statement(Statement *stmt); - void set_command(enum enum_server_command command); + void set_command(enum enum_server_command command) + { + m_command= command; +#ifdef HAVE_PSI_THREAD_INTERFACE + PSI_STATEMENT_CALL(set_thread_command)(m_command); +#endif + } inline enum enum_server_command get_command() const { return m_command; }