mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 18:41:56 +01:00
5d20f7b346
Made sure that innodb tables for persistent statistics would not considered by the server as system tables.
61 lines
1.4 KiB
Text
61 lines
1.4 KiB
Text
#
|
|
# Test the persistent stats feature when DROPping a table or an
|
|
# index when the corresponding rows in the stats tables are locked
|
|
#
|
|
|
|
-- source include/have_innodb.inc
|
|
|
|
-- disable_warnings
|
|
-- disable_query_log
|
|
|
|
DROP TABLE IF EXISTS innodb_stats_drop_locked;
|
|
|
|
CREATE TABLE innodb_stats_drop_locked (c INT, KEY c_key (c))
|
|
ENGINE=INNODB STATS_PERSISTENT=1;
|
|
|
|
ANALYZE TABLE innodb_stats_drop_locked;
|
|
|
|
-- enable_warnings
|
|
-- enable_query_log
|
|
|
|
SET autocommit=0;
|
|
|
|
SELECT table_name FROM mysql.innodb_table_stats
|
|
WHERE table_name='innodb_stats_drop_locked'
|
|
FOR UPDATE;
|
|
|
|
SELECT table_name FROM mysql.innodb_index_stats
|
|
WHERE table_name='innodb_stats_drop_locked'
|
|
FOR UPDATE;
|
|
|
|
-- connect (con1,localhost,root,,)
|
|
|
|
-- connection con1
|
|
|
|
ALTER TABLE innodb_stats_drop_locked DROP INDEX c_key;
|
|
|
|
# the index should be gone
|
|
SHOW CREATE TABLE innodb_stats_drop_locked;
|
|
|
|
DROP TABLE innodb_stats_drop_locked;
|
|
|
|
# the table should be gone
|
|
SHOW TABLES;
|
|
|
|
-- connection default
|
|
|
|
-- disconnect con1
|
|
|
|
COMMIT;
|
|
|
|
# the stats should be there
|
|
|
|
SELECT table_name FROM mysql.innodb_table_stats
|
|
WHERE table_name='innodb_stats_drop_locked';
|
|
|
|
SELECT table_name FROM mysql.innodb_index_stats
|
|
WHERE table_name='innodb_stats_drop_locked';
|
|
|
|
--disable_query_log
|
|
call mtr.add_suppression("Unable to delete statistics for table test.innodb_stats_drop_locked: Lock wait timeout. They can be deleted later using DELETE FROM mysql.innodb_index_stats WHERE database_name");
|
|
--enable_query_log
|