mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
This essentially reverts commit 4e89ec6692
and only disables InnoDB persistent statistics for tests where it is
desirable. By design, InnoDB persistent statistics will not be updated
except by ANALYZE TABLE or by STATS_AUTO_RECALC.
The internal transactions that update persistent InnoDB statistics
in background tasks (with innodb_stats_auto_recalc=ON) may cause
nondeterministic query plans or interfere with some tests that deal
with other InnoDB internals, such as the purge of transaction history.
33 lines
766 B
Plaintext
33 lines
766 B
Plaintext
#
|
|
# innodb_stats_persistent
|
|
#
|
|
|
|
-- source include/have_innodb.inc
|
|
|
|
SET @save_stats_persistent=@@GLOBAL.innodb_stats_persistent;
|
|
# show the default value
|
|
SELECT @@innodb_stats_persistent;
|
|
|
|
# check that it is writeable
|
|
SET GLOBAL innodb_stats_persistent=ON;
|
|
SELECT @@innodb_stats_persistent;
|
|
|
|
SET GLOBAL innodb_stats_persistent=OFF;
|
|
SELECT @@innodb_stats_persistent;
|
|
|
|
SET GLOBAL innodb_stats_persistent=1;
|
|
SELECT @@innodb_stats_persistent;
|
|
|
|
SET GLOBAL innodb_stats_persistent=0;
|
|
SELECT @@innodb_stats_persistent;
|
|
|
|
# should be a boolean
|
|
-- error ER_WRONG_VALUE_FOR_VAR
|
|
SET GLOBAL innodb_stats_persistent=123;
|
|
|
|
-- error ER_WRONG_VALUE_FOR_VAR
|
|
SET GLOBAL innodb_stats_persistent='foo';
|
|
|
|
# restore the environment
|
|
SET GLOBAL innodb_stats_persistent=@save_stats_persistent;
|