diff options
Diffstat (limited to 'mysql-test/suite/innodb/t/innodb-analyze.test')
-rw-r--r-- | mysql-test/suite/innodb/t/innodb-analyze.test | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/innodb-analyze.test b/mysql-test/suite/innodb/t/innodb-analyze.test new file mode 100644 index 00000000..db699ad4 --- /dev/null +++ b/mysql-test/suite/innodb/t/innodb-analyze.test @@ -0,0 +1,60 @@ +--source include/have_innodb.inc +# +# Test that mysqld does not crash when running ANALYZE TABLE with +# different values of the parameter innodb_stats_transient_sample_pages. +# + +# we care only that the following SQL commands do not produce errors +# and do not crash the server +-- disable_query_log +-- enable_warnings + +SET @save_sample_pages = @@GLOBAL.innodb_stats_transient_sample_pages; +SET GLOBAL innodb_stats_transient_sample_pages=0; +SHOW VARIABLES LIKE 'innodb_stats_transient_sample_pages'; +-- disable_result_log + +CREATE TABLE innodb_analyze ( + a INT, + b INT, + KEY(a), + KEY(b,a) +) ENGINE=InnoDB; + +# test with empty table + +ANALYZE TABLE innodb_analyze; + +SET GLOBAL innodb_stats_transient_sample_pages=2; +ANALYZE TABLE innodb_analyze; + +SET GLOBAL innodb_stats_transient_sample_pages=4; +ANALYZE TABLE innodb_analyze; + +SET GLOBAL innodb_stats_transient_sample_pages=8; +ANALYZE TABLE innodb_analyze; + +SET GLOBAL innodb_stats_transient_sample_pages=16; +ANALYZE TABLE innodb_analyze; + +INSERT INTO innodb_analyze VALUES +(1,1), (1,1), (1,2), (1,3), (1,4), (1,5), +(8,1), (8,8), (8,2), (7,1), (1,4), (3,5); + +SET GLOBAL innodb_stats_transient_sample_pages=1; +ANALYZE TABLE innodb_analyze; + +SET GLOBAL innodb_stats_transient_sample_pages=2; +ANALYZE TABLE innodb_analyze; + +SET GLOBAL innodb_stats_transient_sample_pages=4; +ANALYZE TABLE innodb_analyze; + +SET GLOBAL innodb_stats_transient_sample_pages=8; +ANALYZE TABLE innodb_analyze; + +SET GLOBAL innodb_stats_transient_sample_pages=16; +ANALYZE TABLE innodb_analyze; + +DROP TABLE innodb_analyze; +SET GLOBAL innodb_stats_transient_sample_pages = @save_sample_pages; |