mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
2447bc4c81
engine-independent statistics. When the primary key was dropped or changed statistics on secondary indexes for the prefixes that included components of the primary key was not removed from the table mysql.index_stats. Also fixed: in the some cases when a column was changed statistics on the indexes that included this column was not removed from the table mysql.index_stats. Also disabled the test mdev-504 for --ps-protocol.
77 lines
1.3 KiB
Text
77 lines
1.3 KiB
Text
--disable_ps_protocol
|
|
|
|
CREATE TABLE A (
|
|
pk INTEGER AUTO_INCREMENT PRIMARY KEY,
|
|
fdate DATE
|
|
) ENGINE=MyISAM;
|
|
|
|
--delimiter |
|
|
|
|
CREATE PROCEDURE p_analyze()
|
|
BEGIN
|
|
DECLARE attempts INTEGER DEFAULT 100;
|
|
wl_loop: WHILE attempts > 0 DO
|
|
ANALYZE TABLE A;
|
|
SET attempts = attempts - 1;
|
|
END WHILE wl_loop;
|
|
END |
|
|
|
|
CREATE FUNCTION rnd3() RETURNS INT
|
|
BEGIN
|
|
RETURN ROUND(3 * RAND() + 0.5);
|
|
END |
|
|
|
|
--delimiter ;
|
|
|
|
SET GLOBAL use_stat_tables = PREFERABLY;
|
|
|
|
--let $trial = 100
|
|
|
|
--disable_query_log
|
|
--disable_result_log
|
|
--disable_warnings
|
|
while ($trial)
|
|
{
|
|
|
|
--connect (con1,localhost,root,,)
|
|
--send CALL p_analyze()
|
|
|
|
--connect (con2,localhost,root,,)
|
|
--send CALL p_analyze()
|
|
|
|
--let $run = 100
|
|
|
|
while ($run)
|
|
{
|
|
--connect (con3,localhost,root,,)
|
|
|
|
let $query = `SELECT CASE rnd3()
|
|
WHEN 1 THEN 'INSERT INTO A (pk) VALUES (NULL)'
|
|
WHEN 2 THEN 'DELETE FROM A LIMIT 1'
|
|
ELSE 'UPDATE A SET fdate = 2 LIMIT 1' END`;
|
|
--eval $query
|
|
--disconnect con3
|
|
--dec $run
|
|
}
|
|
|
|
--connection con2
|
|
--reap
|
|
--disconnect con2
|
|
--connection con1
|
|
--reap
|
|
--disconnect con1
|
|
|
|
--dec $trial
|
|
}
|
|
|
|
--enable_query_log
|
|
--enable_result_log
|
|
--enable_warnings
|
|
|
|
# Cleanup
|
|
--connection default
|
|
DROP TABLE A;
|
|
DROP PROCEDURE p_analyze;
|
|
DROP FUNCTION rnd3;
|
|
SET GLOBAL use_stat_tables = DEFAULT;
|
|
|