mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge 5.0.80 release and 5.0 community. Version left at 5.0.80.
This commit is contained in:
@ -186,7 +186,9 @@ THD::THD()
|
||||
/* statement id */ 0),
|
||||
Open_tables_state(refresh_version),
|
||||
lock_id(&main_lock_id),
|
||||
user_time(0), in_sub_stmt(0), global_read_lock(0), is_fatal_error(0),
|
||||
user_time(0), in_sub_stmt(0),
|
||||
table_map_for_update(0),
|
||||
global_read_lock(0), is_fatal_error(0),
|
||||
transaction_rollback_request(0), is_fatal_sub_stmt_error(0),
|
||||
rand_used(0), time_zone_used(0),
|
||||
last_insert_id_used(0), last_insert_id_used_bin_log(0), insert_id_used(0),
|
||||
@ -231,6 +233,7 @@ THD::THD()
|
||||
one_shot_set= 0;
|
||||
file_id = 0;
|
||||
query_id= 0;
|
||||
query_name_consts= 0;
|
||||
warn_id= 0;
|
||||
db_charset= global_system_variables.collation_database;
|
||||
bzero(ha_data, sizeof(ha_data));
|
||||
@ -358,6 +361,12 @@ void THD::init(void)
|
||||
if (variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES)
|
||||
server_status|= SERVER_STATUS_NO_BACKSLASH_ESCAPES;
|
||||
options= thd_startup_options;
|
||||
|
||||
if (variables.max_join_size == HA_POS_ERROR)
|
||||
options |= OPTION_BIG_SELECTS;
|
||||
else
|
||||
options &= ~OPTION_BIG_SELECTS;
|
||||
|
||||
transaction.all.modified_non_trans_table= transaction.stmt.modified_non_trans_table= FALSE;
|
||||
open_options=ha_open_options;
|
||||
update_lock_default= (variables.low_priority_updates ?
|
||||
@ -408,6 +417,10 @@ void THD::init_for_queries()
|
||||
|
||||
void THD::change_user(void)
|
||||
{
|
||||
pthread_mutex_lock(&LOCK_status);
|
||||
add_to_status(&global_status_var, &status_var);
|
||||
pthread_mutex_unlock(&LOCK_status);
|
||||
|
||||
cleanup();
|
||||
cleanup_done= 0;
|
||||
init();
|
||||
@ -664,6 +677,8 @@ void THD::cleanup_after_query()
|
||||
free_items();
|
||||
/* Reset where. */
|
||||
where= THD::DEFAULT_WHERE;
|
||||
/* reset table map for multi-table update */
|
||||
table_map_for_update= 0;
|
||||
}
|
||||
|
||||
|
||||
@ -1060,6 +1075,11 @@ bool select_send::send_data(List<Item> &items)
|
||||
my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0));
|
||||
break;
|
||||
}
|
||||
/*
|
||||
Reset buffer to its original state, as it may have been altered in
|
||||
Item::send().
|
||||
*/
|
||||
buffer.set(buff, sizeof(buff), &my_charset_bin);
|
||||
}
|
||||
thd->sent_row_count++;
|
||||
if (!thd->vio_ok())
|
||||
@ -1756,7 +1776,7 @@ void Query_arena::set_query_arena(Query_arena *set)
|
||||
|
||||
void Query_arena::cleanup_stmt()
|
||||
{
|
||||
DBUG_ASSERT("Query_arena::cleanup_stmt()" == "not implemented");
|
||||
DBUG_ASSERT(! "Query_arena::cleanup_stmt() not implemented");
|
||||
}
|
||||
|
||||
/*
|
||||
@ -2142,6 +2162,13 @@ void Security_context::skip_grants()
|
||||
}
|
||||
|
||||
|
||||
bool Security_context::user_matches(Security_context *them)
|
||||
{
|
||||
return ((user != NULL) && (them->user != NULL) &&
|
||||
!strcmp(user, them->user));
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
Handling of open and locked tables states.
|
||||
|
||||
|
Reference in New Issue
Block a user