1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00
* 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
This commit is contained in:
Sergei Golubchik
2019-10-30 19:42:16 +01:00
parent 5392b4a32c
commit 313855766f

View File

@@ -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 Open all statistical tables and lock them
*/ */
static static int open_stat_tables(THD *thd, TABLE_LIST *tables,
inline int open_stat_tables(THD *thd, TABLE_LIST *tables, Open_tables_backup *backup, bool for_write)
Open_tables_backup *backup,
bool for_write)
{ {
int rc; 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. */ /* 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 && if (!rc &&
(stat_table_intact.check(tables[TABLE_STAT].table, &table_stat_def) || (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); DBUG_RETURN(0);
if (open_stat_tables(thd, stat_tables, &open_tables_backup, FALSE)) if (open_stat_tables(thd, stat_tables, &open_tables_backup, FALSE))
{
thd->clear_error();
DBUG_RETURN(1); DBUG_RETURN(1);
}
for (TABLE_LIST *tl= tables; tl; tl= tl->next_global) for (TABLE_LIST *tl= tables; tl; tl= tl->next_global)
{ {