summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test')
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test35
1 files changed, 35 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test b/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test
new file mode 100644
index 00000000000..8e0af20a47e
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/innodb_cleaner_eviction_factor_basic.test
@@ -0,0 +1,35 @@
+--source include/have_debug.inc
+--source include/have_xtradb.inc
+
+# A dynamic, global variable
+
+SET @start_value = @@GLOBAL.innodb_cleaner_eviction_factor;
+
+# Default value
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+
+# Global only
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@SESSION.innodb_cleaner_eviction_factor;
+
+# Correct values
+SET GLOBAL innodb_cleaner_eviction_factor='OFF';
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+SET GLOBAL innodb_cleaner_eviction_factor='ON';
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+SET GLOBAL innodb_cleaner_eviction_factor=0;
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+SET GLOBAL innodb_cleaner_eviction_factor=1;
+SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
+
+# Incorrect values
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_eviction_factor=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+SET GLOBAL innodb_cleaner_eviction_factor=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_cleaner_eviction_factor=2;
+--error ER_WRONG_VALUE_FOR_VAR
+SET GLOBAL innodb_cleaner_eviction_factor='foo';
+
+SET GLOBAL innodb_cleaner_eviction_factor = @start_value;