
#
# 2010-01-20 OBN - Added check of I_S values after variable value change
#

SET @start_global_value = @@global.thread_cache_size;
SELECT @start_global_value;

#
# exists as global only
#
select @@global.thread_cache_size;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.thread_cache_size;
show global variables like 'thread_cache_size';
show session variables like 'thread_cache_size';
select * from information_schema.global_variables where variable_name='thread_cache_size';
select * from information_schema.session_variables where variable_name='thread_cache_size';

#
# show that it's writable
#
set global thread_cache_size=1;
select @@global.thread_cache_size;
select * from information_schema.global_variables where variable_name='thread_cache_size';
select * from information_schema.session_variables where variable_name='thread_cache_size';
--error ER_GLOBAL_VARIABLE
set session thread_cache_size=1;

#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
set global thread_cache_size=1.1;
--error ER_WRONG_TYPE_FOR_VAR
set global thread_cache_size=1e1;
--error ER_WRONG_TYPE_FOR_VAR
set global thread_cache_size="foo";

#
# min/max values
#
set global thread_cache_size=0;
select @@global.thread_cache_size;
set global thread_cache_size=cast(-1 as unsigned int);
select @@global.thread_cache_size;

SET @@global.thread_cache_size = @start_global_value;
SELECT @@global.thread_cache_size;
