Commit 9a6e05d8 authored by Alexander Nozdrin's avatar Alexander Nozdrin

Backport patch for Bug#31222 (com_% global status counters behave randomly

with mysql_change_user) to 5.0.
parent a08460b8
......@@ -3,3 +3,10 @@ execute stmt1;
Id User Host db Command Time State Info
number root localhost test Query time NULL show full processlist
deallocate prepare stmt1;
FLUSH STATUS;
SHOW GLOBAL STATUS LIKE 'com_select';
Variable_name Value
Com_select 101
SHOW GLOBAL STATUS LIKE 'com_select';
Variable_name Value
Com_select 101
......@@ -16,3 +16,31 @@ execute stmt1;
deallocate prepare stmt1;
# End of 4.1 tests
#
# Bug#31222: com_% global status counters behave randomly with
# mysql_change_user.
#
FLUSH STATUS;
--disable_result_log
--disable_query_log
let $i = 100;
while ($i)
{
dec $i;
SELECT 1;
}
--enable_query_log
--enable_result_log
SHOW GLOBAL STATUS LIKE 'com_select';
--change_user
SHOW GLOBAL STATUS LIKE 'com_select';
......@@ -391,6 +391,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();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment