summaryrefslogtreecommitdiff
path: root/mysql-test/t/stat_tables.test
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2018-07-13 23:03:57 -0700
committerIgor Babaev <igor@askmonty.org>2018-07-15 16:28:39 -0700
commitae0eb507bda858a13475faef4476dd496c4dbc01 (patch)
tree934a84190474db07d8290f322911b761bf36bd5d /mysql-test/t/stat_tables.test
parent095dc81158902380b8618338efabb5ce480dbd79 (diff)
downloadmariadb-git-ae0eb507bda858a13475faef4476dd496c4dbc01.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 'mysql-test/t/stat_tables.test')
-rw-r--r--mysql-test/t/stat_tables.test20
1 files changed, 20 insertions, 0 deletions
diff --git a/mysql-test/t/stat_tables.test b/mysql-test/t/stat_tables.test
index 5bbd8cadfbb..b98ca641dc0 100644
--- a/mysql-test/t/stat_tables.test
+++ b/mysql-test/t/stat_tables.test
@@ -330,3 +330,23 @@ SELECT * FROM mysql.column_stats;
DROP TABLE t1;
set use_stat_tables=@save_use_stat_tables;
+
+--echo #
+--echo # MDEV-16760: CREATE OR REPLACE TABLE after ANALYZE TABLE
+--echo #
+
+SET use_stat_tables= PREFERABLY;
+
+CREATE TABLE t1 (pk int PRIMARY KEY, c varchar(32));
+INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
+ANALYZE TABLE t1;
+SELECT * FROM t1;
+SELECT * FROM mysql.column_stats;
+
+CREATE OR REPLACE TABLE t1 (pk int PRIMARY KEY, a char(7));
+SELECT * FROM t1;
+SELECT * FROM mysql.column_stats;
+
+DROP TABLE t1;
+
+set use_stat_tables=@save_use_stat_tables;