diff options
author | Igor Babaev <igor@askmonty.org> | 2018-07-13 23:03:57 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2018-07-13 23:03:57 -0700 |
commit | 1fd84f9129f2ed98706f6e225b06b16a13d0ebd0 (patch) | |
tree | 71ac15d383c12d3e6fbd53e51f51a4423cf3cbf4 /sql | |
parent | c89bb15c31f98d2d368414c7366ce61955b70b44 (diff) | |
download | mariadb-git-1fd84f9129f2ed98706f6e225b06b16a13d0ebd0.tar.gz |
MDEV-16760 CREATE OR REPLACE TABLE never updates statistical tables
If the command CREATE OR REPLACE TABLE really replaces a table then
it should remove all data on this table from all statistical tables.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_table.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 6c71067d51b..ee02b5fc7aa 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -4762,6 +4762,10 @@ int create_table_impl(THD *thd, { if (create_info->options & HA_LEX_CREATE_REPLACE) { + LEX_STRING db_name= {(char *) db, strlen(db)}; + LEX_STRING tab_name= {(char *) table_name, strlen(table_name)}; + (void) delete_statistics_for_table(thd, &db_name, &tab_name); + TABLE_LIST table_list; table_list.init_one_table(db, strlen(db), table_name, strlen(table_name), table_name, |