From 313855766f3ce608001d686553ef6e087a70d264 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 30 Oct 2019 19:42:16 +0100 Subject: [PATCH] cleanup * use compile_time_assert instead of DBUG_ASSERT * don't use thd->clear_error(), because * the error was already consumed by the error handler, so there is nothing to clear * it's dangerous to clear errors indiscriminately, if the error came from outside of read_statistics_for_tables() it must not be cleared --- sql/sql_statistics.cc | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc index f002a5a5eab..11e2db9ae44 100644 --- a/sql/sql_statistics.cc +++ b/sql/sql_statistics.cc @@ -257,10 +257,8 @@ index_stat_def= {INDEX_STAT_N_FIELDS, index_stat_fields, 4, index_stat_pk_col}; Open all statistical tables and lock them */ -static -inline int open_stat_tables(THD *thd, TABLE_LIST *tables, - Open_tables_backup *backup, - bool for_write) +static int open_stat_tables(THD *thd, TABLE_LIST *tables, + Open_tables_backup *backup, bool for_write) { int rc; @@ -275,7 +273,7 @@ inline int open_stat_tables(THD *thd, TABLE_LIST *tables, /* If the number of tables changes, we should revise the check below. */ - DBUG_ASSERT(STATISTICS_TABLES == 3); + compile_time_assert(STATISTICS_TABLES == 3); if (!rc && (stat_table_intact.check(tables[TABLE_STAT].table, &table_stat_def) || @@ -3258,10 +3256,7 @@ int read_statistics_for_tables(THD *thd, TABLE_LIST *tables) DBUG_RETURN(0); if (open_stat_tables(thd, stat_tables, &open_tables_backup, FALSE)) - { - thd->clear_error(); DBUG_RETURN(1); - } for (TABLE_LIST *tl= tables; tl; tl= tl->next_global) {