diff options
Diffstat (limited to 'mysql-test/suite/sys_vars/t/optimizer_switch_basic.test')
-rw-r--r-- | mysql-test/suite/sys_vars/t/optimizer_switch_basic.test | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/optimizer_switch_basic.test b/mysql-test/suite/sys_vars/t/optimizer_switch_basic.test new file mode 100644 index 00000000000..32a77c90b34 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/optimizer_switch_basic.test @@ -0,0 +1,41 @@ +SET @start_global_value = @@global.optimizer_switch; +SELECT @start_global_value; + +# +# exists as global and session +# +select @@global.optimizer_switch; +select @@session.optimizer_switch; +show global variables like 'optimizer_switch'; +show session variables like 'optimizer_switch'; +select * from information_schema.global_variables where variable_name='optimizer_switch'; +select * from information_schema.session_variables where variable_name='optimizer_switch'; + +# +# show that it's writable +# +set global optimizer_switch=10; +select @@global.optimizer_switch; +set session optimizer_switch=5; +select @@session.optimizer_switch; +set global optimizer_switch="index_merge_sort_union=on"; +select @@global.optimizer_switch; +set session optimizer_switch="index_merge=off"; +select @@session.optimizer_switch; +set session optimizer_switch="default"; +select @@session.optimizer_switch; + +# +# incorrect assignments +# +--error ER_WRONG_TYPE_FOR_VAR +set global optimizer_switch=1.1; +--error ER_WRONG_TYPE_FOR_VAR +set global optimizer_switch=1e1; +--error ER_WRONG_VALUE_FOR_VAR +set session optimizer_switch="index_merge"; +--error ER_WRONG_VALUE_FOR_VAR +set session optimizer_switch="foobar"; + +SET @@global.optimizer_switch = @start_global_value; +SELECT @@global.optimizer_switch; |