1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-8633: information_schema.index_statistics doesn't delete

item when drop table indexes or drop table;

Problem was that table and index statistics is removed from
persistent tables but not from memory cache. Added functions
to remove table and index statistics from memory cache.
This commit is contained in:
Jan Lindström
2016-06-20 09:58:31 +03:00
parent e24a183370
commit 70ad689b11
6 changed files with 219 additions and 5 deletions

View File

@ -29,6 +29,7 @@
#include "sql_statistics.h"
#include "opt_range.h"
#include "my_atomic.h"
#include "sql_show.h"
/*
The system variable 'use_stat_tables' can take one of the
@ -3193,6 +3194,10 @@ int delete_statistics_for_table(THD *thd, LEX_STRING *db, LEX_STRING *tab)
rc= 1;
}
err= del_global_table_stat(thd, db, tab);
if (err & !rc)
rc= 1;
thd->restore_stmt_binlog_format(save_binlog_format);
close_system_tables(thd, &open_tables_backup);
@ -3339,6 +3344,10 @@ int delete_statistics_for_index(THD *thd, TABLE *tab, KEY *key_info,
}
}
err= del_global_index_stat(thd, tab, key_info);
if (err && !rc)
rc= 1;
thd->restore_stmt_binlog_format(save_binlog_format);
close_system_tables(thd, &open_tables_backup);