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

Added missing tests for innodb persistent statistics (from mysql-5.6.10)

Made sure that innodb tables for persistent statistics would not
considered by the server as system tables.
This commit is contained in:
Igor Babaev
2013-08-07 17:08:51 -07:00
parent 1b6e66fa20
commit 5d20f7b346
20 changed files with 1475 additions and 6 deletions

View File

@ -0,0 +1,36 @@
#
# Test fetching from stats tables while there are no stats
#
-- source include/have_innodb.inc
-- vertical_results
CREATE TABLE test_ps_fetch_nonexistent
(a INT, PRIMARY KEY (a))
ENGINE=INNODB STATS_PERSISTENT=1;
# write stats to mysql.innodb_table_stats
ANALYZE TABLE test_ps_fetch_nonexistent;
# check that indeed stats were written by ANALYZE above
SELECT COUNT(*)
FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch_nonexistent';
# delete the stats
DELETE FROM mysql.innodb_index_stats WHERE table_name = 'test_ps_fetch_nonexistent';
DELETE FROM mysql.innodb_table_stats WHERE table_name = 'test_ps_fetch_nonexistent';
# reopen the table, this will attept to read the stats
FLUSH TABLE test_ps_fetch_nonexistent;
# check the stats (should have been generated using the old transient stats
# method)
SELECT seq_in_index, column_name, cardinality
FROM information_schema.statistics WHERE table_name = 'test_ps_fetch_nonexistent'
ORDER BY index_name, seq_in_index;
SELECT table_rows, avg_row_length, max_data_length, index_length
FROM information_schema.tables WHERE table_name = 'test_ps_fetch_nonexistent';
DROP TABLE test_ps_fetch_nonexistent;