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:
@ -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);
|
||||
|
Reference in New Issue
Block a user