From 0ec457b0de083e45b815a04f4f6de0bcc002ffc6 Mon Sep 17 00:00:00 2001 From: Daniele Sciascia Date: Fri, 2 Oct 2015 10:16:55 +0200 Subject: [PATCH] refs codership/galera#308 - Moves call wsrep_free_status() to THD::cleanup_after_query(). Wsrep status variables were previously freed only on SHOW STATUS. - Removes valgrind suppression from mysql-test/valgrind. --- mysql-test/valgrind.supp | 22 ---------------------- sql/sql_class.cc | 4 ++++ sql/sql_parse.cc | 3 --- 3 files changed, 4 insertions(+), 25 deletions(-) diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp index 09f5514f3b3..b0c6533df0b 100644 --- a/mysql-test/valgrind.supp +++ b/mysql-test/valgrind.supp @@ -1283,28 +1283,6 @@ fun:dlopen@@GLIBC_2.2.5 } -{ - GitHub codership/galera#308 - Memcheck:Leak - match-leak-kinds: definite - fun:malloc - fun:_ZNK6galera13ReplicatorSMM9stats_getEv - fun:_ZL28export_wsrep_status_to_mysqlP3THD - fun:_Z17wsrep_show_statusP3THDP17st_mysql_show_varPc - fun:_ZL17show_status_arrayP3THDPKcP17st_mysql_show_var13enum_var_typeP17system_status_varS2_P5TABLEbP4Item - fun:_Z11fill_statusP3THDP10TABLE_LISTP4Item - fun:_ZL13do_fill_tableP3THDP10TABLE_LISTP13st_join_table - fun:_Z24get_schema_tables_resultP4JOIN23enum_schema_table_state - fun:_ZN4JOIN14prepare_resultEPP4ListI4ItemE - fun:_ZN4JOIN4execEv - fun:_ZL20mysql_execute_selectP3THDP13st_select_lexb - fun:_Z12mysql_selectP3THDP10TABLE_LISTjR4ListI4ItemEPS4_P10SQL_I_ListI8st_orderESB_S7_yP13select_resultP18st_select_lex_unitP13st_select_lex - fun:_Z13handle_selectP3THDP13select_resultm - fun:_ZL21execute_sqlcom_selectP3THDP10TABLE_LIST - fun:_Z21mysql_execute_commandP3THD - fun:_Z11mysql_parseP3THDPcjP12Parser_state -} - { GitHub codership/mysql-wsrep#176 Memcheck:Leak diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 6c7282c3505..5534cdde596 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -2361,6 +2361,10 @@ void THD::cleanup_after_query() rgi_slave->cleanup_after_query(); #endif +#ifdef WITH_WSREP + wsrep_free_status(this); +#endif /* WITH_WSREP */ + DBUG_VOID_RETURN; } diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 802721901a8..99a1af749f9 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2774,9 +2774,6 @@ mysql_execute_command(THD *thd) case SQLCOM_SHOW_STATUS: { execute_show_status(thd, all_tables); -#ifdef WITH_WSREP - wsrep_free_status(thd); -#endif /* WITH_WSREP */ break; } case SQLCOM_SHOW_EXPLAIN: