mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
5.1 merge
increase xtradb verson from 13.0 to 13.01
This commit is contained in:
@ -423,6 +423,7 @@ extern "C"
|
||||
char *thd_security_context(THD *thd, char *buffer, unsigned int length,
|
||||
unsigned int max_query_len)
|
||||
{
|
||||
DEBUG_SYNC(thd, "thd_security_context");
|
||||
String str(buffer, length, &my_charset_latin1);
|
||||
const Security_context *sctx= &thd->main_security_ctx;
|
||||
char header[64];
|
||||
@ -661,7 +662,7 @@ Diagnostics_area::disable_status()
|
||||
THD::THD()
|
||||
:Statement(&main_lex, &main_mem_root, CONVENTIONAL_EXECUTION,
|
||||
/* statement id */ 0),
|
||||
Open_tables_state(refresh_version), rli_fake(0),
|
||||
Open_tables_state(refresh_version), rli_fake(NULL), rli_slave(NULL),
|
||||
lock_id(&main_lock_id),
|
||||
user_time(0), in_sub_stmt(0),
|
||||
sql_log_bin_toplevel(false), log_all_errors(0),
|
||||
@ -762,6 +763,7 @@ THD::THD()
|
||||
active_vio = 0;
|
||||
#endif
|
||||
pthread_mutex_init(&LOCK_thd_data, MY_MUTEX_INIT_FAST);
|
||||
pthread_mutex_init(&LOCK_thd_kill, MY_MUTEX_INIT_FAST);
|
||||
|
||||
/* Variables with default values */
|
||||
proc_info="login";
|
||||
@ -1126,6 +1128,8 @@ THD::~THD()
|
||||
/* Ensure that no one is using THD */
|
||||
pthread_mutex_lock(&LOCK_thd_data);
|
||||
pthread_mutex_unlock(&LOCK_thd_data);
|
||||
pthread_mutex_lock(&LOCK_thd_kill);
|
||||
pthread_mutex_unlock(&LOCK_thd_kill);
|
||||
add_to_status(&global_status_var, &status_var);
|
||||
|
||||
/* Close connection */
|
||||
@ -1154,6 +1158,7 @@ THD::~THD()
|
||||
#endif
|
||||
mysys_var=0; // Safety (shouldn't be needed)
|
||||
pthread_mutex_destroy(&LOCK_thd_data);
|
||||
pthread_mutex_destroy(&LOCK_thd_kill);
|
||||
#ifndef DBUG_OFF
|
||||
dbug_sentry= THD_SENTRY_GONE;
|
||||
#endif
|
||||
@ -1163,6 +1168,8 @@ THD::~THD()
|
||||
delete rli_fake;
|
||||
rli_fake= NULL;
|
||||
}
|
||||
if (rli_slave)
|
||||
rli_slave->cleanup_after_session();
|
||||
#endif
|
||||
|
||||
free_root(&main_mem_root, MYF(0));
|
||||
@ -1251,9 +1258,11 @@ void add_diff_to_status(STATUS_VAR *to_var, STATUS_VAR *from_var,
|
||||
void THD::awake(THD::killed_state state_to_set)
|
||||
{
|
||||
DBUG_ENTER("THD::awake");
|
||||
DBUG_PRINT("enter", ("this: 0x%lx", (long) this));
|
||||
DBUG_PRINT("enter", ("this: 0x%lx thread_id=%lu killed_state=%d",
|
||||
(long) this, thread_id, state_to_set));
|
||||
THD_CHECK_SENTRY(this);
|
||||
safe_mutex_assert_owner(&LOCK_thd_data);
|
||||
safe_mutex_assert_not_owner(&LOCK_thd_data);
|
||||
safe_mutex_assert_owner(&LOCK_thd_kill);
|
||||
|
||||
if (global_system_variables.log_warnings > 3)
|
||||
{
|
||||
@ -1283,7 +1292,9 @@ void THD::awake(THD::killed_state state_to_set)
|
||||
hack is not used.
|
||||
*/
|
||||
|
||||
pthread_mutex_lock(&LOCK_thd_data);
|
||||
close_active_vio();
|
||||
pthread_mutex_unlock(&LOCK_thd_data);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -1472,6 +1483,10 @@ void THD::cleanup_after_query()
|
||||
/* reset table map for multi-table update */
|
||||
table_map_for_update= 0;
|
||||
m_binlog_invoker= FALSE;
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
if (rli_slave)
|
||||
rli_slave->cleanup_after_query();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user