1
2#
3# 2010-01-20 OBN Added check for I_S values after variable value changed
4#
5
6SET @start_global_value = @@global.optimizer_switch;
7SELECT @start_global_value;
8
9#
10# exists as global and session
11#
12select @@global.optimizer_switch;
13select @@session.optimizer_switch;
14show global variables like 'optimizer_switch';
15show session variables like 'optimizer_switch';
16--disable_warnings
17select * from information_schema.global_variables where variable_name='optimizer_switch';
18select * from information_schema.session_variables where variable_name='optimizer_switch';
19--enable_warnings
20
21#
22# show that it's writable
23#
24set global optimizer_switch=10;
25set session optimizer_switch=5;
26select @@global.optimizer_switch;
27select @@session.optimizer_switch;
28set global optimizer_switch="index_merge_sort_union=on";
29set session optimizer_switch="index_merge=off";
30select @@global.optimizer_switch;
31select @@session.optimizer_switch;
32show global variables like 'optimizer_switch';
33show session variables like 'optimizer_switch';
34--disable_warnings
35select * from information_schema.global_variables where variable_name='optimizer_switch';
36select * from information_schema.session_variables where variable_name='optimizer_switch';
37--enable_warnings
38set session optimizer_switch="default";
39select @@session.optimizer_switch;
40
41#
42# incorrect assignments
43#
44--error ER_WRONG_TYPE_FOR_VAR
45set global optimizer_switch=1.1;
46--error ER_WRONG_TYPE_FOR_VAR
47set global optimizer_switch=1e1;
48--error ER_WRONG_VALUE_FOR_VAR
49set session optimizer_switch="index_merge";
50--error ER_WRONG_VALUE_FOR_VAR
51set session optimizer_switch="foobar";
52
53--echo #
54--echo # Bug#59894 set optimizer_switch to e or d causes invalid
55--echo # memory writes/valgrind warnings
56--echo
57set global optimizer_switch = 'def'; # means default
58--error ER_WRONG_VALUE_FOR_VAR
59set global optimizer_switch = 'e';
60
61SET @@global.optimizer_switch = @start_global_value;
62SELECT @@global.optimizer_switch;
63