--source include/not_embedded.inc

let $var= slave_parallel_workers;
eval set @save.$var= @@global.$var;

#
# exists as global only
#
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
eval select @@session.$var;

select variable_name from information_schema.global_variables where variable_name='$var';
select variable_name from information_schema.session_variables where variable_name='$var';

#
# show that it's writable
#
let $value= 0;
eval set @@global.$var= $value;
eval select @@global.$var;

#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
eval set @@global.$var= 1.1;
--error ER_WRONG_TYPE_FOR_VAR
eval set @@global.$var= "foo";

#
# min/max values
#
eval set @@global.$var= 0;
eval set @@global.$var= cast(-1 as unsigned int);
eval select @@global.$var as "truncated to the maximum";

# cleanup

eval set @@global.$var= @save.$var;
