polardbxengine/mysql-test/include/begin_replace_gtid_combinat...

67 lines
2.1 KiB
PHP

# ==== Purpose ====
#
# The replication suites are often run in two 'combinations': with the
# gtid_mode=on and gtid_mode=off. Some specific test cases do not
# care what gtid_mode is used, but make sense to run with two options
# for some *other* variable, which the test framework does not
# explicitly vary.
#
# This file is used to replace the combination
# gtid_mode=on/gtid_mode=off by some other combination, specified by
# the caller.
#
# ==== Usage ====
#
# --let $variable= VARIABLE_NAME
# --source include/begin_replace_gtid_combination.inc
#
# ... test test test ...
#
# --let $variable= VARIABLE_NAME
# --source include/end_replace_gtid_combination.inc
#
# Parameters:
# $variable
# Name of the variable. If GTID_MODE=OFF, @@SESSION.$varible and
# @@GLOBAL.$variable will be set to 0. Otherwise they will be set
# to 1. As a special case, if $variable==default_storage_engine,
# then GTID_MODE=OFF sets InnoDB and GTID_MODE=ON sets MyISAM.
--let $_brgc_values= 0/1
if ($variable == 'default_storage_engine')
{
--let $_brgc_values=InnoDB/MyISAM
}
--let $include_filename= begin_replace_gtid_combination.inc [gtid_mode=off/on -> $variable=$_brgc_values]
--source include/begin_include_file.inc
--disable_query_log
--let $_rgc_old_variable_value= `SELECT @@GLOBAL.$variable`
--let $_rgc_old_gtid_mode= `SELECT @@GLOBAL.GTID_MODE`
--let $_rgc_old_enforce_gtid_consistency= `SELECT @@GLOBAL.ENFORCE_GTID_CONSISTENCY`
--let $_rgc_variable_value= `SELECT @@GLOBAL.GTID_MODE = 'ON'`
if ($variable == 'default_storage_engine')
{
if ($_rgc_variable_value == 0)
{
--let $_rgc_variable_value= InnoDB
}
if ($_rgc_variable_value == 1)
{
--let $_rgc_variable_value= MyISAM
}
}
--let $rpl_gtid_mode= OFF
--source include/rpl_set_gtid_mode.inc
--disable_query_log
eval SET @@GLOBAL.$variable= $_rgc_variable_value;
eval SET @@SESSION.$variable = $_rgc_variable_value;
SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = OFF;
--enable_query_log
--let $include_filename= begin_replace_gtid_combination.inc [gtid_mode=off/on -> $variable=$_brgc_values]
--source include/end_include_file.inc