summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2015-06-02 15:35:02 +0400
committerSergey Vojtovich <svoj@mariadb.org>2015-06-02 18:02:32 +0400
commitd298b02233b6f6be71208418bec6243123593c3c (patch)
tree9e825991274980de7a011e2bde1bfdec61f6363f /sql/sql_class.h
parent3709c7fc6d46c624c24523907eb2a0ad8a1e5062 (diff)
downloadmariadb-git-d298b02233b6f6be71208418bec6243123593c3c.tar.gz
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
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h11
1 files changed, 10 insertions, 1 deletions
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,