summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/optimizer_use_mrr_basic.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/sys_vars/t/optimizer_use_mrr_basic.test')
-rw-r--r--mysql-test/suite/sys_vars/t/optimizer_use_mrr_basic.test46
1 files changed, 46 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/optimizer_use_mrr_basic.test b/mysql-test/suite/sys_vars/t/optimizer_use_mrr_basic.test
new file mode 100644
index 00000000000..bb5f1284614
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/optimizer_use_mrr_basic.test
@@ -0,0 +1,46 @@
+# enum session
+--source include/have_maria.inc
+
+SET @start_global_value = @@global.optimizer_use_mrr;
+
+#
+# exists as global only
+#
+select @@global.optimizer_use_mrr;
+select @@session.optimizer_use_mrr;
+show global variables like 'optimizer_use_mrr';
+show session variables like 'optimizer_use_mrr';
+select * from information_schema.global_variables where variable_name='optimizer_use_mrr';
+select * from information_schema.session_variables where variable_name='optimizer_use_mrr';
+
+#
+# show that it's writable
+#
+set global optimizer_use_mrr=1;
+select @@global.optimizer_use_mrr;
+set session optimizer_use_mrr=1;
+select @@session.optimizer_use_mrr;
+
+#
+# all valid values
+#
+set session optimizer_use_mrr='auto';
+select @@session.optimizer_use_mrr;
+set session optimizer_use_mrr='force';
+select @@session.optimizer_use_mrr;
+set session optimizer_use_mrr='disable';
+select @@session.optimizer_use_mrr;
+
+#
+# incorrect types/values
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set session optimizer_use_mrr=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set session optimizer_use_mrr=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set session optimizer_use_mrr="foo";
+--error ER_WRONG_VALUE_FOR_VAR
+set session optimizer_use_mrr=3;
+
+SET @@global.optimizer_use_mrr = @start_global_value;