polardbxengine/mysql-test/suite/sys_vars/t/innodb_flush_sync_basic.test

77 lines
2.6 KiB
Plaintext

SET @start_global_value = @@global.innodb_flush_sync;
SELECT @start_global_value;
#
# exists as global only
#
--echo Valid values are 'ON' and 'OFF'
select @@global.innodb_flush_sync in (0, 1);
select @@global.innodb_flush_sync;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.innodb_flush_sync;
show global variables like 'innodb_flush_sync';
show session variables like 'innodb_flush_sync';
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_flush_sync';
select * from performance_schema.session_variables where variable_name='innodb_flush_sync';
--enable_warnings
#
# show that it's writable
#
set global innodb_flush_sync='OFF';
select @@global.innodb_flush_sync;
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_flush_sync';
select * from performance_schema.session_variables where variable_name='innodb_flush_sync';
--enable_warnings
set @@global.innodb_flush_sync=1;
select @@global.innodb_flush_sync;
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_flush_sync';
select * from performance_schema.session_variables where variable_name='innodb_flush_sync';
--enable_warnings
set global innodb_flush_sync=0;
select @@global.innodb_flush_sync;
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_flush_sync';
select * from performance_schema.session_variables where variable_name='innodb_flush_sync';
--enable_warnings
set @@global.innodb_flush_sync='ON';
select @@global.innodb_flush_sync;
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_flush_sync';
select * from performance_schema.session_variables where variable_name='innodb_flush_sync';
--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_flush_sync='OFF';
--error ER_GLOBAL_VARIABLE
set @@session.innodb_flush_sync='ON';
#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_flush_sync=1.1;
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_flush_sync=1e1;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_flush_sync=2;
--echo NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
set global innodb_flush_sync=-3;
select @@global.innodb_flush_sync;
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_flush_sync';
select * from performance_schema.session_variables where variable_name='innodb_flush_sync';
--enable_warnings
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_flush_sync='AUTO';
#
# Cleanup
#
SET @@global.innodb_flush_sync = @start_global_value;
SELECT @@global.innodb_flush_sync;