mirror of
https://github.com/MariaDB/server.git
synced 2025-02-04 21:02:17 +01:00
0994af43e5
Error state is not stored in check_and_do_in_subquery_rewrites() when there is illegal combination of optimizer switches. So all the functions eventually return false. Thus the assetion failure.
52 lines
1.7 KiB
Text
52 lines
1.7 KiB
Text
--source include/default_optimizer_switch.inc
|
|
|
|
#
|
|
# 2010-01-20 OBN Added check for I_S values after variable value changed
|
|
#
|
|
|
|
set @@global.optimizer_switch=@@optimizer_switch;
|
|
|
|
#
|
|
# 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=4101;
|
|
set session optimizer_switch=2058;
|
|
select @@global.optimizer_switch;
|
|
select @@session.optimizer_switch;
|
|
set global optimizer_switch="index_merge_sort_union=on";
|
|
set session optimizer_switch="index_merge=off";
|
|
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';
|
|
set session optimizer_switch="default";
|
|
select @@session.optimizer_switch;
|
|
|
|
set optimizer_switch = replace(@@optimizer_switch, '=off', '=on');
|
|
select @@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 = @save_optimizer_switch;
|