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; ...@@ -3,3 +3,10 @@ execute stmt1;
Id User Host db Command Time State Info Id User Host db Command Time State Info
number root localhost test Query time NULL show full processlist number root localhost test Query time NULL show full processlist
deallocate prepare stmt1; 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; ...@@ -16,3 +16,31 @@ execute stmt1;
deallocate prepare stmt1; deallocate prepare stmt1;
# End of 4.1 tests # 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() ...@@ -391,6 +391,10 @@ void THD::init_for_queries()
void THD::change_user(void) 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();
cleanup_done= 0; cleanup_done= 0;
init(); 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