mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.3 into 10.4
This commit is contained in:
@@ -49,9 +49,16 @@ connection default;
|
||||
|
||||
# We need to wait for the implicit DROP TEMPORARY TABLE to be logged after
|
||||
# tmp_con disconnect, otherwise we get sporadic test failures.
|
||||
# MDEV-20091: DROP TEMPORARY TABLE IF EXISTS statements will be written to
|
||||
# binlog only if the corresponding temporary table exists. In row based
|
||||
# replication temporary tables are not replicated hence their corresponding
|
||||
# DROP TEMPORARY TABLE statement will be not be written to binary log upon
|
||||
# session closure.
|
||||
|
||||
if (!`SELECT @@BINLOG_FORMAT = 'ROW'`) {
|
||||
--let $wait_condition= SELECT variable_value > $before_drop_pos FROM information_schema.global_status WHERE variable_name = 'binlog_snapshot_position'
|
||||
--source include/wait_condition.inc
|
||||
|
||||
}
|
||||
--let $binlog_pos2=query_get_value(SHOW MASTER STATUS, Position, 1)
|
||||
|
||||
--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
|
||||
|
14
mysql-test/include/force_restart.inc
Normal file
14
mysql-test/include/force_restart.inc
Normal file
@@ -0,0 +1,14 @@
|
||||
# ==== Purpose ====
|
||||
#
|
||||
# Tell mtr that all servers must be restarted after the test has
|
||||
# finished.
|
||||
#
|
||||
# ==== Usage ====
|
||||
#
|
||||
# --source include/force_restart.inc
|
||||
#
|
||||
|
||||
--let $_force_restart_datadir= `SELECT @@datadir`
|
||||
--append_file $_force_restart_datadir/mtr/force_restart
|
||||
1
|
||||
EOF
|
4
mysql-test/include/have_xtrabackup.inc
Normal file
4
mysql-test/include/have_xtrabackup.inc
Normal file
@@ -0,0 +1,4 @@
|
||||
#
|
||||
# suite.pm will make sure that all tests including this file
|
||||
# will be skipped as needed
|
||||
#
|
69
mysql-test/include/wait_condition_with_debug.inc
Normal file
69
mysql-test/include/wait_condition_with_debug.inc
Normal file
@@ -0,0 +1,69 @@
|
||||
# include/wait_condition_with_debug.inc
|
||||
#
|
||||
# SUMMARY
|
||||
#
|
||||
# Waits until the passed statement returns true, or the operation
|
||||
# times out. If the operation times out, the additional error
|
||||
# statement will be executed.
|
||||
#
|
||||
# USAGE
|
||||
#
|
||||
# let $wait_condition=
|
||||
# SELECT c = 3 FROM t;
|
||||
# let $wait_condition_on_error_output= select count(*) from t;
|
||||
# [let $explicit_default_wait_timeout= N] # to override the default reset
|
||||
# --source include/wait_condition_with_debug.inc
|
||||
#
|
||||
# OR
|
||||
#
|
||||
# let $wait_timeout= 60; # Override default 30 seconds with 60.
|
||||
# let $wait_condition=
|
||||
# SELECT c = 3 FROM t;
|
||||
# let $wait_condition_on_error_output= select count(*) from t;
|
||||
# --source include/wait_condition_with_debug.inc
|
||||
# --echo Executed the test condition $wait_condition_reps times
|
||||
#
|
||||
#
|
||||
# EXAMPLE
|
||||
# events_bugs.test, events_time_zone.test
|
||||
#
|
||||
|
||||
let $wait_counter= 300;
|
||||
if ($wait_timeout)
|
||||
{
|
||||
let $wait_counter= `SELECT $wait_timeout * 10`;
|
||||
}
|
||||
# Reset $wait_timeout so that its value won't be used on subsequent
|
||||
# calls, and default will be used instead.
|
||||
if ($explicit_default_wait_timeout)
|
||||
{
|
||||
--let $wait_timeout= $explicit_default_wait_timeout
|
||||
}
|
||||
if (!$explicit_default_wait_timeout)
|
||||
{
|
||||
--let $wait_timeout= 0
|
||||
}
|
||||
|
||||
# Keep track of how many times the wait condition is tested
|
||||
# This is used by some tests (e.g., main.status)
|
||||
let $wait_condition_reps= 0;
|
||||
while ($wait_counter)
|
||||
{
|
||||
--error 0,ER_NO_SUCH_TABLE,ER_LOCK_WAIT_TIMEOUT,ER_UNKNOWN_COM_ERROR,ER_LOCK_DEADLOCK
|
||||
let $success= `$wait_condition`;
|
||||
inc $wait_condition_reps;
|
||||
if ($success)
|
||||
{
|
||||
let $wait_counter= 0;
|
||||
}
|
||||
if (!$success)
|
||||
{
|
||||
real_sleep 0.1;
|
||||
dec $wait_counter;
|
||||
}
|
||||
}
|
||||
if (!$success)
|
||||
{
|
||||
echo Timeout in wait_condition.inc for $wait_condition;
|
||||
--eval $wait_condition_on_error_output
|
||||
}
|
Reference in New Issue
Block a user