From dc6667805dd4567693fcc01666da7d1277050097 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Sun, 7 Mar 2021 01:33:51 +0100 Subject: Correct the value of global memory_used As a special hack global memory_used isn't SHOW_LONG_STATUS but still relies on calc_sum_of_all_status() being called. followup for 63f91927870 --- sql/sql_show.cc | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'sql/sql_show.cc') diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 3e9916816b9..7023e5fe9ea 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -3580,15 +3580,8 @@ static bool show_status_array(THD *thd, const char *wild, if (show_type == SHOW_SYS) mysql_mutex_lock(&LOCK_global_system_variables); - else if (show_type >= SHOW_LONG_STATUS && scope == OPT_GLOBAL && - !status_var->local_memory_used) - { - mysql_mutex_lock(&LOCK_status); - *status_var= global_status_var; - mysql_mutex_unlock(&LOCK_status); - calc_sum_of_all_status(status_var); - DBUG_ASSERT(status_var->local_memory_used); - } + else if (show_type >= SHOW_LONG_STATUS && scope == OPT_GLOBAL) + calc_sum_of_all_status_if_needed(status_var); pos= get_one_variable(thd, var, scope, show_type, status_var, &charset, buff, &length); -- cgit v1.2.1