From 89685d55d7329065607df5a5f19b641e5947e22f Mon Sep 17 00:00:00 2001 From: Monty Date: Thu, 7 Apr 2016 19:51:40 +0300 Subject: Reuse THD for new user connections - To ensure that mallocs are marked for the correct THD, even if it's allocated in another thread, I added the thread_id to the THD constructor - Added st_my_thread_var to thr_lock_info_init() to avoid a call to my_thread_var - Moved things from THD::THD() to THD::init() - Moved some things to THD::cleanup() - Added THD::free_connection() and THD::reset_for_reuse() - Added THD to CONNECT::create_thd() - Added THD::thread_dbug_id and st_my_thread_var->dbug_id. These are needed to ensure that we have a constant thread_id used for debugging with a THD, even if it changes thread_id (=connection_id) - Set variables.pseudo_thread_id in constructor. Removed not needed sets. --- sql/sql_plugin.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql/sql_plugin.cc') diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index f540c268923..848358e517a 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -1769,7 +1769,7 @@ static void plugin_load(MEM_ROOT *tmp_root) TABLE *table; READ_RECORD read_record_info; int error; - THD *new_thd= new THD; + THD *new_thd= new THD(0); bool result; DBUG_ENTER("plugin_load"); -- cgit v1.2.1