MINI MINI MANI MO

Path : /opt/mysql/mysql-test/suite/sys_vars/t/
File Upload :
Current File : //opt/mysql/mysql-test/suite/sys_vars/t/slave_preserve_commit_order_basic.test

--source include/not_embedded.inc

# Save initial value
SET @saved_value= @@GLOBAL.slave_preserve_commit_order;

--echo #
--echo # Verify it can be queried corrected in different ways.
--echo #
SELECT @@GLOBAL.slave_preserve_commit_order;
--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE
  VARIABLE_NAME = 'slave_preserve_commit_order';
--enable_warnings
SHOW GLOBAL VARIABLES LIKE 'slave_preserve_commit_order';

--echo #
--echo # Verify it is not a session variable
--echo #
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@SESSION.slave_preserve_commit_order;
--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE
  VARIABLE_NAME = 'slave_preserve_commit_order';
--enable_warnings
SHOW SESSION VARIABLES LIKE 'slave_preserve_commit_order';

--error ER_GLOBAL_VARIABLE
SET SESSION slave_preserve_commit_order= TRUE;
SELECT @@global.slave_preserve_commit_order;

--echo #
--echo # Verify it can be set correctly
--echo #
SET GLOBAL slave_preserve_commit_order= true;
SELECT @@global.slave_preserve_commit_order;
--disable_warnings
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE
  VARIABLE_NAME = 'slave_preserve_commit_order';
--enable_warnings

SET GLOBAL slave_preserve_commit_order= false;
SELECT @@global.slave_preserve_commit_order;

SET GLOBAL slave_preserve_commit_order= TRUE;
SELECT @@global.slave_preserve_commit_order;

SET GLOBAL slave_preserve_commit_order= FALSE;
SELECT @@global.slave_preserve_commit_order;

SET GLOBAL slave_preserve_commit_order= DEFAULT;
SELECT @@global.slave_preserve_commit_order;

--echo #
--echo # It should throw an error when encountering invalid value
--echo #
--error ER_WRONG_VALUE_FOR_VAR
SET GLOBAL slave_preserve_commit_order= NULL;
SELECT @@global.slave_preserve_commit_order;

--error ER_WRONG_VALUE_FOR_VAR
SET GLOBAL slave_preserve_commit_order= '';
SELECT @@global.slave_preserve_commit_order;

--error ER_WRONG_VALUE_FOR_VAR
SET GLOBAL slave_preserve_commit_order= 'GARBAGE';
SELECT @@global.slave_preserve_commit_order;

# Restore the initial value
SET GLOBAL slave_preserve_commit_order = @saved_value;

OHA YOOOO