1
0
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:
Sergei Golubchik
2012-08-22 16:13:54 +02:00
224 changed files with 6898 additions and 3289 deletions

View File

@ -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
}