
#
# exists as a session only
#
# 2010-01-20 OBN - Added check for session I_S values being equal to variable value
#                - Added check for session variable value being numberic
#
 
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@global.pseudo_thread_id;

# Check the variable has a valid numeric value (assumed to be less then 10000)
select @@session.pseudo_thread_id between 1 and 10000;

--echo should be empty
show global variables like 'pseudo_thread_id';

# Check that shows returns a value (can't confirm the actual one)
--replace_column 2 #
show session variables like 'pseudo_thread_id';

# Global I_S variable is empty
--echo should be empty
select * from information_schema.global_variables where variable_name='pseudo_thread_id';

# Check that I_S value is same as variable
select @@session.pseudo_thread_id = variable_value from information_schema.session_variables where variable_name='pseudo_thread_id';

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

#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
set session pseudo_thread_id=1.1;
--error ER_WRONG_TYPE_FOR_VAR
set session pseudo_thread_id=1e1;
--error ER_WRONG_TYPE_FOR_VAR
set session pseudo_thread_id="foo";

