mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge with main for BUG#12969301
This commit is contained in:
@ -15,7 +15,7 @@ if (!$EXAMPLE_PLUGIN) {
|
||||
#
|
||||
# Check if --plugin-dir was setup for exampledb
|
||||
#
|
||||
if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$EXAMPLE_PLUGIN_OPT'`) {
|
||||
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$EXAMPLE_PLUGIN_OPT/'`) {
|
||||
--skip Example plugin requires that --plugin-dir is set to the example plugin dir (either the .opt file does not contain \$EXAMPLE_PLUGIN_OPT or another plugin is in use)
|
||||
}
|
||||
enable_query_log;
|
||||
|
@ -16,6 +16,6 @@ if (!$SEMISYNC_MASTER_PLUGIN)
|
||||
#
|
||||
# Check if --plugin-dir was setup for semisync
|
||||
#
|
||||
if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$SEMISYNC_PLUGIN_OPT'`) {
|
||||
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$SEMISYNC_PLUGIN_OPT/'`) {
|
||||
--skip SEMISYNC plugin requires that --plugin-dir is set to the semisync plugin dir (either the .opt file does not contain \$SEMISYNC_PLUGIN_OPT or another plugin is in use)
|
||||
}
|
||||
|
@ -15,6 +15,6 @@ if (!$SIMPLE_PARSER) {
|
||||
#
|
||||
# Check if --plugin-dir was setup for simple parser
|
||||
#
|
||||
if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$SIMPLE_PARSER_OPT'`) {
|
||||
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$SIMPLE_PARSER_OPT/'`) {
|
||||
--skip simple parser requires that --plugin-dir is set to the udf plugin dir (either the .opt file does not contain \$UDF_EXAMPLE_LIB_OPT or another plugin is in use)
|
||||
}
|
||||
|
@ -15,6 +15,6 @@ if (!$UDF_EXAMPLE_LIB) {
|
||||
#
|
||||
# Check if --plugin-dir was setup for udf
|
||||
#
|
||||
if (`SELECT CONCAT('--plugin-dir=', @@plugin_dir) != '$UDF_EXAMPLE_LIB_OPT'`) {
|
||||
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$UDF_EXAMPLE_LIB_OPT/'`) {
|
||||
--skip UDF requires that --plugin-dir is set to the udf plugin dir (either the .opt file does not contain \$UDF_EXAMPLE_LIB_OPT or another plugin is in use)
|
||||
}
|
||||
|
@ -55,6 +55,18 @@
|
||||
# comma-separated list. Example:
|
||||
#
|
||||
# --let $status_items= Master_Log_File, Relay_Master_Log_File
|
||||
#
|
||||
# $slave_field_result_replace
|
||||
# If set, one or more regex patterns for replacing variable
|
||||
# text in the error message. Syntax as --replace-regex
|
||||
#
|
||||
# $slave_sql_mode
|
||||
# If set, change the slave sql mode during this macro, reverting
|
||||
# to the previous on exit. Default sql_mode is NO_BACKSLASH_ESCAPES
|
||||
# to allow replace '\' by '/' making paths OS independent. Example:
|
||||
#
|
||||
# --let $slave_sql_mode= NO_BACKSLASH_ESCAPES
|
||||
#
|
||||
|
||||
|
||||
--let $_show_slave_status_items=$status_items
|
||||
@ -64,12 +76,30 @@ if (!$status_items)
|
||||
}
|
||||
|
||||
|
||||
--let $_slave_sql_mode= NO_BACKSLASH_ESCAPES
|
||||
if ($slave_sql_mode)
|
||||
{
|
||||
--let $_slave_sql_mode= $slave_sql_mode
|
||||
}
|
||||
--let $_previous_slave_sql_mode = `SELECT @@sql_mode`
|
||||
--disable_query_log
|
||||
eval SET sql_mode= '$_slave_sql_mode';
|
||||
--enable_query_log
|
||||
|
||||
|
||||
while ($_show_slave_status_items)
|
||||
{
|
||||
--let $_show_slave_status_name= `SELECT SUBSTRING_INDEX('$_show_slave_status_items', ',', 1)`
|
||||
--let $_show_slave_status_items= `SELECT LTRIM(SUBSTRING('$_show_slave_status_items', LENGTH('$_show_slave_status_name') + 2))`
|
||||
|
||||
--let $_show_slave_status_value= query_get_value(SHOW SLAVE STATUS, $_show_slave_status_name, 1)
|
||||
--let $_slave_field_result_replace= /[\\]/\// $slave_field_result_replace
|
||||
--replace_regex $_slave_field_result_replace
|
||||
--let $_show_slave_status_value= `SELECT REPLACE("$_show_slave_status_value", '$MYSQL_TEST_DIR', 'MYSQL_TEST_DIR')`
|
||||
--echo $_show_slave_status_name = '$_show_slave_status_value'
|
||||
}
|
||||
|
||||
|
||||
--disable_query_log
|
||||
eval SET sql_mode= '$_previous_slave_sql_mode';
|
||||
--enable_query_log
|
||||
|
@ -1,13 +1,11 @@
|
||||
# ==== Purpose ====
|
||||
#
|
||||
# Several test primitives from mysql-test/extra/rpl_tests
|
||||
# shared for test cases for MyISAM, InnoDB, NDB and other
|
||||
# engines. But for NDB all events will be added by NDB
|
||||
# injector and now there are no way to detect the state of
|
||||
# NDB injector therefore this primitive waits 5 sec
|
||||
# if engine type is NDB.
|
||||
# In future that should be fixed by waiting of proper
|
||||
# state of NDB injector.
|
||||
# Several test primitives from mysql-test/extra/rpl_tests
|
||||
# are shared for test cases for MyISAM, InnoDB, NDB and
|
||||
# other engines.
|
||||
# For NDB engine all events will be added by NDB injector
|
||||
# so tests only can continue after injector is ready,
|
||||
# this test waits for proper injector thread state.
|
||||
#
|
||||
# ==== Usage ====
|
||||
#
|
||||
@ -17,25 +15,12 @@
|
||||
# ==== Parameters =====
|
||||
#
|
||||
# $engine_type
|
||||
# Type of engine. If type is NDB then it waits $wait_time sec
|
||||
#
|
||||
# $wait_time
|
||||
# Test will wait $wait_time seconds
|
||||
|
||||
let $_wait_time= 5;
|
||||
|
||||
if (!$wait_time) {
|
||||
let $_wait_time= $wait_time;
|
||||
}
|
||||
# Type of engine. If type is NDB then it waits for injector
|
||||
# thread proper state.
|
||||
|
||||
if (`SELECT UPPER(LEFT('$engine_type',3)) = 'NDB'`) {
|
||||
while (!$_wait_time) {
|
||||
let $_wait_time_internal= 10;
|
||||
while (!$_wait_time_internal) {
|
||||
sleep 0.1;
|
||||
dec $_wait_time_internal;
|
||||
}
|
||||
dec $_wait_time;
|
||||
}
|
||||
let $show_statement= SHOW PROCESSLIST;
|
||||
let $field= State;
|
||||
let $condition= = 'Waiting for event from ndbcluster';
|
||||
source include/wait_show_condition.inc;
|
||||
}
|
||||
|
||||
|
@ -33,6 +33,10 @@
|
||||
# (e.g., temporary connection error) and does not cause the slave
|
||||
# IO thread to stop.
|
||||
#
|
||||
# $slave_io_error_replace
|
||||
# If set, one or more regex patterns for replacing variable
|
||||
# text in the error message. Syntax as --replace-regex
|
||||
#
|
||||
# $slave_timeout
|
||||
# See include/wait_for_slave_param.inc
|
||||
#
|
||||
@ -72,6 +76,7 @@ if ($show_slave_io_error)
|
||||
{
|
||||
--let $_wait_for_slave_io_error_old_status_items= $status_items
|
||||
--let $status_items= Last_IO_Error
|
||||
--let $slave_field_result_replace= $slave_io_error_replace
|
||||
--source include/show_slave_status.inc
|
||||
--let $status_items= $_wait_for_slave_io_error_old_status_items
|
||||
}
|
||||
|
Reference in New Issue
Block a user