From 5706e734d5799863698dc7d31fe3e5f7c00554c6 Mon Sep 17 00:00:00 2001 From: ParadoxV5 Date: Thu, 30 Jan 2025 14:53:26 -0700 Subject: [PATCH] Cherry-pick #3795 as test for MDEV-35948 PR Changes should have accompanying tests. Assert that 1st-gen `replicate_*` filter variables display long but reasonable lists correctly (without truncation) in SHOW REPLICA STATUS. See that PR for details --- .../sys_vars/r/replicate_do_db_basic.result | 16 +++++++++++++++ .../r/replicate_do_table_basic.result | 20 +++++++++++++++++++ .../r/replicate_ignore_db_basic.result | 20 +++++++++++++++++++ .../r/replicate_ignore_table_basic.result | 20 +++++++++++++++++++ .../r/replicate_wild_do_table_basic.result | 20 +++++++++++++++++++ .../replicate_wild_ignore_table_basic.result | 20 +++++++++++++++++++ .../sys_vars/t/replicate_do_db_basic.test | 16 +++++++++++++++ .../sys_vars/t/replicate_do_table_basic.test | 19 ++++++++++++++++++ .../sys_vars/t/replicate_ignore_db_basic.test | 19 ++++++++++++++++++ .../t/replicate_ignore_table_basic.test | 19 ++++++++++++++++++ .../t/replicate_wild_do_table_basic.test | 19 ++++++++++++++++++ .../t/replicate_wild_ignore_table_basic.test | 19 ++++++++++++++++++ 12 files changed, 227 insertions(+) diff --git a/mysql-test/suite/sys_vars/r/replicate_do_db_basic.result b/mysql-test/suite/sys_vars/r/replicate_do_db_basic.result index 54adf8359625b..0914de285f2f6 100644 --- a/mysql-test/suite/sys_vars/r/replicate_do_db_basic.result +++ b/mysql-test/suite/sys_vars/r/replicate_do_db_basic.result @@ -1,3 +1,4 @@ +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; # # Basic testing of replicate_do_db. # @@ -17,6 +18,20 @@ SET @@GLOBAL.replicate_do_db=1.1; ERROR 42000: Incorrect argument type to variable 'replicate_do_db' SET @@GLOBAL.replicate_do_db=1e1; ERROR 42000: Incorrect argument type to variable 'replicate_do_db' +# Argument size acceptance. +SELECT GROUP_CONCAT(CONCAT("database_name_", seq) SEPARATOR ",") +INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +LENGTH(@name) +127 +SET @@GLOBAL.replicate_do_db= @name; +SELECT @@GLOBAL.replicate_do_db; +@@GLOBAL.replicate_do_db +database_name_1,database_name_2,database_name_3,database_name_4,database_name_5,database_name_6,database_name_7,database_name_8 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_db'; +VARIABLE_VALUE +database_name_1,database_name_2,database_name_3,database_name_4,database_name_5,database_name_6,database_name_7,database_name_8 +Replicate_Do_DB = 'database_name_1,database_name_2,database_name_3,database_name_4,database_name_5,database_name_6,database_name_7,database_name_8' # Argument syntax. SET @@GLOBAL.replicate_do_db="db1,,,,,db3"; SELECT @@GLOBAL.replicate_do_db; @@ -25,6 +40,7 @@ db1,db3 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_db'; VARIABLE_NAME VARIABLE_VALUE REPLICATE_DO_DB db1,db3 +Replicate_Do_DB = 'db1,db3' SET @@GLOBAL.replicate_do_db="db1,,,db2,,,db3"; SELECT @@GLOBAL.replicate_do_db; @@GLOBAL.replicate_do_db diff --git a/mysql-test/suite/sys_vars/r/replicate_do_table_basic.result b/mysql-test/suite/sys_vars/r/replicate_do_table_basic.result index e67b1eeca0162..79df08c7ba070 100644 --- a/mysql-test/suite/sys_vars/r/replicate_do_table_basic.result +++ b/mysql-test/suite/sys_vars/r/replicate_do_table_basic.result @@ -1,3 +1,4 @@ +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; # # Basic testing of replicate_do_table. # @@ -24,6 +25,20 @@ SET @@GLOBAL.replicate_do_table="test.t1, t2"; ERROR HY000: Incorrect arguments to SET SET @@GLOBAL.replicate_do_table="test.,t1"; ERROR HY000: Incorrect arguments to SET +# Argument size acceptance. +SELECT GROUP_CONCAT(CONCAT("database_name.long_table_name_", seq) SEPARATOR ",") +INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +LENGTH(@name) +255 +SET @@GLOBAL.replicate_do_table= @name; +SELECT @@GLOBAL.replicate_do_table; +@@GLOBAL.replicate_do_table +database_name.long_table_name_5,database_name.long_table_name_1,database_name.long_table_name_6,database_name.long_table_name_2,database_name.long_table_name_7,database_name.long_table_name_3,database_name.long_table_name_8,database_name.long_table_name_4 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_table'; +VARIABLE_VALUE +database_name.long_table_name_5,database_name.long_table_name_1,database_name.long_table_name_6,database_name.long_table_name_2,database_name.long_table_name_7,database_name.long_table_name_3,database_name.long_table_name_8,database_name.long_table_name_4 +Replicate_Do_Table = 'database_name.long_table_name_5,database_name.long_table_name_1,database_name.long_table_name_6,database_name.long_table_name_2,database_name.long_table_name_7,database_name.long_table_name_3,database_name.long_table_name_8,database_name.long_table_name_4' # Argument syntax. SET @@GLOBAL.replicate_do_table="test.t1,,,,,test.t3"; SELECT @@GLOBAL.replicate_do_table; @@ -32,6 +47,7 @@ test.t3,test.t1 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_table'; VARIABLE_NAME VARIABLE_VALUE REPLICATE_DO_TABLE test.t3,test.t1 +Replicate_Do_Table = 'test.t3,test.t1' SET @@GLOBAL.replicate_do_table="test.t1,,,test2.t2,,,test.t3"; SELECT @@GLOBAL.replicate_do_table; @@GLOBAL.replicate_do_table @@ -44,5 +60,9 @@ SET @@GLOBAL.replicate_do_table=null; SELECT @@GLOBAL.replicate_do_table; @@GLOBAL.replicate_do_table +SET @@GLOBAL.replicate_do_table=DEFAULT; +SELECT @@GLOBAL.replicate_do_table; +@@GLOBAL.replicate_do_table + # Cleanup. SET @@GLOBAL.replicate_do_table = @save_replicate_do_table; diff --git a/mysql-test/suite/sys_vars/r/replicate_ignore_db_basic.result b/mysql-test/suite/sys_vars/r/replicate_ignore_db_basic.result index c7ff697b34f8a..1c8b22ffcd07b 100644 --- a/mysql-test/suite/sys_vars/r/replicate_ignore_db_basic.result +++ b/mysql-test/suite/sys_vars/r/replicate_ignore_db_basic.result @@ -1,3 +1,4 @@ +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; # # Basic testing of replicate_ignore_db. # @@ -17,6 +18,20 @@ SET @@GLOBAL.replicate_ignore_db=1.1; ERROR 42000: Incorrect argument type to variable 'replicate_ignore_db' SET @@GLOBAL.replicate_ignore_db=1e1; ERROR 42000: Incorrect argument type to variable 'replicate_ignore_db' +# Argument size acceptance. +SELECT GROUP_CONCAT(CONCAT("database_name_", seq) SEPARATOR ",") +INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +LENGTH(@name) +127 +SET @@GLOBAL.replicate_ignore_db= @name; +SELECT @@GLOBAL.replicate_ignore_db; +@@GLOBAL.replicate_ignore_db +database_name_1,database_name_2,database_name_3,database_name_4,database_name_5,database_name_6,database_name_7,database_name_8 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_ignore_db'; +VARIABLE_VALUE +database_name_1,database_name_2,database_name_3,database_name_4,database_name_5,database_name_6,database_name_7,database_name_8 +Replicate_Ignore_DB = 'database_name_1,database_name_2,database_name_3,database_name_4,database_name_5,database_name_6,database_name_7,database_name_8' # Argument syntax. SET @@GLOBAL.replicate_ignore_db="db1,,,,,db3"; SELECT @@GLOBAL.replicate_ignore_db; @@ -25,6 +40,7 @@ db1,db3 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_ignore_db'; VARIABLE_NAME VARIABLE_VALUE REPLICATE_IGNORE_DB db1,db3 +Replicate_Ignore_DB = 'db1,db3' SET @@GLOBAL.replicate_ignore_db="db1,,,db2,,,db3"; SELECT @@GLOBAL.replicate_ignore_db; @@GLOBAL.replicate_ignore_db @@ -37,5 +53,9 @@ SET @@GLOBAL.replicate_ignore_db=null; SELECT @@GLOBAL.replicate_ignore_db; @@GLOBAL.replicate_ignore_db +SET @@GLOBAL.replicate_ignore_db=DEFAULT; +SELECT @@GLOBAL.replicate_ignore_db; +@@GLOBAL.replicate_ignore_db + # Cleanup. SET @@GLOBAL.replicate_ignore_db = @save_replicate_ignore_db; diff --git a/mysql-test/suite/sys_vars/r/replicate_ignore_table_basic.result b/mysql-test/suite/sys_vars/r/replicate_ignore_table_basic.result index a1701635f0e1f..beff3d0efda23 100644 --- a/mysql-test/suite/sys_vars/r/replicate_ignore_table_basic.result +++ b/mysql-test/suite/sys_vars/r/replicate_ignore_table_basic.result @@ -1,3 +1,4 @@ +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; # # Basic testing of replicate_ignore_table. # @@ -24,6 +25,20 @@ SET @@GLOBAL.replicate_ignore_table="test.t1, t2"; ERROR HY000: Incorrect arguments to SET SET @@GLOBAL.replicate_ignore_table="test.,t1"; ERROR HY000: Incorrect arguments to SET +# Argument size acceptance. +SELECT GROUP_CONCAT(CONCAT("database_name.long_table_name_", seq) SEPARATOR ",") +INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +LENGTH(@name) +255 +SET @@GLOBAL.replicate_ignore_table= @name; +SELECT @@GLOBAL.replicate_ignore_table; +@@GLOBAL.replicate_ignore_table +database_name.long_table_name_5,database_name.long_table_name_1,database_name.long_table_name_6,database_name.long_table_name_2,database_name.long_table_name_7,database_name.long_table_name_3,database_name.long_table_name_8,database_name.long_table_name_4 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_ignore_table'; +VARIABLE_VALUE +database_name.long_table_name_5,database_name.long_table_name_1,database_name.long_table_name_6,database_name.long_table_name_2,database_name.long_table_name_7,database_name.long_table_name_3,database_name.long_table_name_8,database_name.long_table_name_4 +Replicate_Ignore_Table = 'database_name.long_table_name_5,database_name.long_table_name_1,database_name.long_table_name_6,database_name.long_table_name_2,database_name.long_table_name_7,database_name.long_table_name_3,database_name.long_table_name_8,database_name.long_table_name_4' # Argument syntax. SET @@GLOBAL.replicate_ignore_table="test.t1,,,,,test.t3"; SELECT @@GLOBAL.replicate_ignore_table; @@ -32,6 +47,7 @@ test.t3,test.t1 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_ignore_table'; VARIABLE_NAME VARIABLE_VALUE REPLICATE_IGNORE_TABLE test.t3,test.t1 +Replicate_Ignore_Table = 'test.t3,test.t1' SET @@GLOBAL.replicate_ignore_table="test.t1,,,test2.t2,,,test.t3"; SELECT @@GLOBAL.replicate_ignore_table; @@GLOBAL.replicate_ignore_table @@ -44,6 +60,10 @@ SET @@GLOBAL.replicate_ignore_table=null; SELECT @@GLOBAL.replicate_ignore_table; @@GLOBAL.replicate_ignore_table +SET @@GLOBAL.replicate_ignore_table=DEFAULT; +SELECT @@GLOBAL.replicate_ignore_table; +@@GLOBAL.replicate_ignore_table + # Cleanup. SET @@GLOBAL.replicate_ignore_table = @save_replicate_ignore_table; # diff --git a/mysql-test/suite/sys_vars/r/replicate_wild_do_table_basic.result b/mysql-test/suite/sys_vars/r/replicate_wild_do_table_basic.result index 8c55103080f52..12bb7bcdf4b54 100644 --- a/mysql-test/suite/sys_vars/r/replicate_wild_do_table_basic.result +++ b/mysql-test/suite/sys_vars/r/replicate_wild_do_table_basic.result @@ -1,3 +1,4 @@ +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; # # Basic testing of replicate_wild_do_table. # @@ -24,6 +25,20 @@ SET @@GLOBAL.replicate_wild_do_table="test.t, t2"; ERROR HY000: Incorrect arguments to SET SET @@GLOBAL.replicate_wild_do_table="test.,t1"; ERROR HY000: Incorrect arguments to SET +# Argument size acceptance. +SELECT GROUP_CONCAT(CONCAT("database_name.long_table_name_", seq) SEPARATOR ",") +INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +LENGTH(@name) +255 +SET @@GLOBAL.replicate_wild_do_table= @name; +SELECT @@GLOBAL.replicate_wild_do_table; +@@GLOBAL.replicate_wild_do_table +database_name.long_table_name_1,database_name.long_table_name_2,database_name.long_table_name_3,database_name.long_table_name_4,database_name.long_table_name_5,database_name.long_table_name_6,database_name.long_table_name_7,database_name.long_table_name_8 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_do_table'; +VARIABLE_VALUE +database_name.long_table_name_1,database_name.long_table_name_2,database_name.long_table_name_3,database_name.long_table_name_4,database_name.long_table_name_5,database_name.long_table_name_6,database_name.long_table_name_7,database_name.long_table_name_8 +Replicate_Wild_Do_Table = 'database_name.long_table_name_1,database_name.long_table_name_2,database_name.long_table_name_3,database_name.long_table_name_4,database_name.long_table_name_5,database_name.long_table_name_6,database_name.long_table_name_7,database_name.long_table_name_8' # Argument syntax. SET @@GLOBAL.replicate_wild_do_table="test.%,,,,,test.t3"; SELECT @@GLOBAL.replicate_wild_do_table; @@ -32,6 +47,7 @@ test.%,test.t3 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_do_table'; VARIABLE_NAME VARIABLE_VALUE REPLICATE_WILD_DO_TABLE test.%,test.t3 +Replicate_Wild_Do_Table = 'test.%,test.t3' SET @@GLOBAL.replicate_wild_do_table="test.t1,,,test2.%,,,test.t3"; SELECT @@GLOBAL.replicate_wild_do_table; @@GLOBAL.replicate_wild_do_table @@ -44,5 +60,9 @@ SET @@GLOBAL.replicate_wild_do_table=null; SELECT @@GLOBAL.replicate_wild_do_table; @@GLOBAL.replicate_wild_do_table +SET @@GLOBAL.replicate_wild_do_table=DEFAULT; +SELECT @@GLOBAL.replicate_wild_do_table; +@@GLOBAL.replicate_wild_do_table + # Cleanup. SET @@GLOBAL.replicate_wild_do_table = @save_replicate_wild_do_table; diff --git a/mysql-test/suite/sys_vars/r/replicate_wild_ignore_table_basic.result b/mysql-test/suite/sys_vars/r/replicate_wild_ignore_table_basic.result index 0f46ce3880556..766073112965a 100644 --- a/mysql-test/suite/sys_vars/r/replicate_wild_ignore_table_basic.result +++ b/mysql-test/suite/sys_vars/r/replicate_wild_ignore_table_basic.result @@ -1,3 +1,4 @@ +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; # # Basic testing of replicate_wild_ignore_table. # @@ -24,6 +25,20 @@ SET @@GLOBAL.replicate_wild_ignore_table="test.t, t2"; ERROR HY000: Incorrect arguments to SET SET @@GLOBAL.replicate_wild_ignore_table="test.,t1"; ERROR HY000: Incorrect arguments to SET +# Argument size acceptance. +SELECT GROUP_CONCAT(CONCAT("database_name.long_table_name_", seq) SEPARATOR ",") +INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +LENGTH(@name) +255 +SET @@GLOBAL.replicate_wild_ignore_table= @name; +SELECT @@GLOBAL.replicate_wild_ignore_table; +@@GLOBAL.replicate_wild_ignore_table +database_name.long_table_name_1,database_name.long_table_name_2,database_name.long_table_name_3,database_name.long_table_name_4,database_name.long_table_name_5,database_name.long_table_name_6,database_name.long_table_name_7,database_name.long_table_name_8 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_ignore_table'; +VARIABLE_VALUE +database_name.long_table_name_1,database_name.long_table_name_2,database_name.long_table_name_3,database_name.long_table_name_4,database_name.long_table_name_5,database_name.long_table_name_6,database_name.long_table_name_7,database_name.long_table_name_8 +Replicate_Wild_Ignore_Table = 'database_name.long_table_name_1,database_name.long_table_name_2,database_name.long_table_name_3,database_name.long_table_name_4,database_name.long_table_name_5,database_name.long_table_name_6,database_name.long_table_name_7,database_name.long_table_name_8' # Argument syntax. SET @@GLOBAL.replicate_wild_ignore_table="test.%,,,,,test.t3"; SELECT @@GLOBAL.replicate_wild_ignore_table; @@ -32,6 +47,7 @@ test.%,test.t3 SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_ignore_table'; VARIABLE_NAME VARIABLE_VALUE REPLICATE_WILD_IGNORE_TABLE test.%,test.t3 +Replicate_Wild_Ignore_Table = 'test.%,test.t3' SET @@GLOBAL.replicate_wild_ignore_table="test.t1,,,test2.%,,,test.t3"; SELECT @@GLOBAL.replicate_wild_ignore_table; @@GLOBAL.replicate_wild_ignore_table @@ -44,5 +60,9 @@ SET @@GLOBAL.replicate_wild_ignore_table=null; SELECT @@GLOBAL.replicate_wild_ignore_table; @@GLOBAL.replicate_wild_ignore_table +SET @@GLOBAL.replicate_wild_ignore_table=DEFAULT; +SELECT @@GLOBAL.replicate_wild_ignore_table; +@@GLOBAL.replicate_wild_ignore_table + # Cleanup. SET @@GLOBAL.replicate_wild_ignore_table = @save_replicate_wild_ignore_table; diff --git a/mysql-test/suite/sys_vars/t/replicate_do_db_basic.test b/mysql-test/suite/sys_vars/t/replicate_do_db_basic.test index b7004d1938b08..4b72d14d6af06 100644 --- a/mysql-test/suite/sys_vars/t/replicate_do_db_basic.test +++ b/mysql-test/suite/sys_vars/t/replicate_do_db_basic.test @@ -1,4 +1,8 @@ +--source include/have_sequence.inc +# have show_slave_status --source include/not_embedded.inc +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; +--let $status_items= Replicate_Do_DB --echo # --echo # Basic testing of replicate_do_db. @@ -23,11 +27,23 @@ SET @@GLOBAL.replicate_do_db=1.1; --error ER_WRONG_TYPE_FOR_VAR SET @@GLOBAL.replicate_do_db=1e1; +# MDEV-35693 Replicate_* fields of Show-Slave-Status display truncated +--echo # Argument size acceptance. + +SELECT GROUP_CONCAT(CONCAT("database_name_", seq) SEPARATOR ",") + INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +SET @@GLOBAL.replicate_do_db= @name; +SELECT @@GLOBAL.replicate_do_db; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_db'; +--source include/show_slave_status.inc + --echo # Argument syntax. SET @@GLOBAL.replicate_do_db="db1,,,,,db3"; SELECT @@GLOBAL.replicate_do_db; SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_db'; +--source include/show_slave_status.inc SET @@GLOBAL.replicate_do_db="db1,,,db2,,,db3"; SELECT @@GLOBAL.replicate_do_db; diff --git a/mysql-test/suite/sys_vars/t/replicate_do_table_basic.test b/mysql-test/suite/sys_vars/t/replicate_do_table_basic.test index 346bdf3b038aa..213fc567b0216 100644 --- a/mysql-test/suite/sys_vars/t/replicate_do_table_basic.test +++ b/mysql-test/suite/sys_vars/t/replicate_do_table_basic.test @@ -1,4 +1,8 @@ +--source include/have_sequence.inc +# have show_slave_status --source include/not_embedded.inc +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; +--let $status_items= Replicate_Do_Table --echo # --echo # Basic testing of replicate_do_table. @@ -32,11 +36,23 @@ SET @@GLOBAL.replicate_do_table="test.t1, t2"; --error ER_WRONG_ARGUMENTS SET @@GLOBAL.replicate_do_table="test.,t1"; +# MDEV-35693 Replicate_* fields of Show-Slave-Status display truncated +--echo # Argument size acceptance. + +SELECT GROUP_CONCAT(CONCAT("database_name.long_table_name_", seq) SEPARATOR ",") + INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +SET @@GLOBAL.replicate_do_table= @name; +SELECT @@GLOBAL.replicate_do_table; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_table'; +--source include/show_slave_status.inc + --echo # Argument syntax. SET @@GLOBAL.replicate_do_table="test.t1,,,,,test.t3"; SELECT @@GLOBAL.replicate_do_table; SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_do_table'; +--source include/show_slave_status.inc SET @@GLOBAL.replicate_do_table="test.t1,,,test2.t2,,,test.t3"; SELECT @@GLOBAL.replicate_do_table; @@ -47,5 +63,8 @@ SELECT @@GLOBAL.replicate_do_table; SET @@GLOBAL.replicate_do_table=null; SELECT @@GLOBAL.replicate_do_table; +SET @@GLOBAL.replicate_do_table=DEFAULT; +SELECT @@GLOBAL.replicate_do_table; + --echo # Cleanup. SET @@GLOBAL.replicate_do_table = @save_replicate_do_table; diff --git a/mysql-test/suite/sys_vars/t/replicate_ignore_db_basic.test b/mysql-test/suite/sys_vars/t/replicate_ignore_db_basic.test index 376397d1635d0..2ff267cdbf764 100644 --- a/mysql-test/suite/sys_vars/t/replicate_ignore_db_basic.test +++ b/mysql-test/suite/sys_vars/t/replicate_ignore_db_basic.test @@ -1,4 +1,8 @@ +--source include/have_sequence.inc +# have show_slave_status --source include/not_embedded.inc +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; +--let $status_items= Replicate_Ignore_DB --echo # --echo # Basic testing of replicate_ignore_db. @@ -23,11 +27,23 @@ SET @@GLOBAL.replicate_ignore_db=1.1; --error ER_WRONG_TYPE_FOR_VAR SET @@GLOBAL.replicate_ignore_db=1e1; +# MDEV-35693 Replicate_* fields of Show-Slave-Status display truncated +--echo # Argument size acceptance. + +SELECT GROUP_CONCAT(CONCAT("database_name_", seq) SEPARATOR ",") + INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +SET @@GLOBAL.replicate_ignore_db= @name; +SELECT @@GLOBAL.replicate_ignore_db; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_ignore_db'; +--source include/show_slave_status.inc + --echo # Argument syntax. SET @@GLOBAL.replicate_ignore_db="db1,,,,,db3"; SELECT @@GLOBAL.replicate_ignore_db; SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_ignore_db'; +--source include/show_slave_status.inc SET @@GLOBAL.replicate_ignore_db="db1,,,db2,,,db3"; SELECT @@GLOBAL.replicate_ignore_db; @@ -38,5 +54,8 @@ SELECT @@GLOBAL.replicate_ignore_db; SET @@GLOBAL.replicate_ignore_db=null; SELECT @@GLOBAL.replicate_ignore_db; +SET @@GLOBAL.replicate_ignore_db=DEFAULT; +SELECT @@GLOBAL.replicate_ignore_db; + --echo # Cleanup. SET @@GLOBAL.replicate_ignore_db = @save_replicate_ignore_db; diff --git a/mysql-test/suite/sys_vars/t/replicate_ignore_table_basic.test b/mysql-test/suite/sys_vars/t/replicate_ignore_table_basic.test index 1cf6f010ecacb..ac2f86b875b97 100644 --- a/mysql-test/suite/sys_vars/t/replicate_ignore_table_basic.test +++ b/mysql-test/suite/sys_vars/t/replicate_ignore_table_basic.test @@ -1,4 +1,8 @@ +--source include/have_sequence.inc +# have show_slave_status --source include/not_embedded.inc +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; +--let $status_items= Replicate_Ignore_Table --echo # --echo # Basic testing of replicate_ignore_table. @@ -32,11 +36,23 @@ SET @@GLOBAL.replicate_ignore_table="test.t1, t2"; --error ER_WRONG_ARGUMENTS SET @@GLOBAL.replicate_ignore_table="test.,t1"; +# MDEV-35693 Replicate_* fields of Show-Slave-Status display truncated +--echo # Argument size acceptance. + +SELECT GROUP_CONCAT(CONCAT("database_name.long_table_name_", seq) SEPARATOR ",") + INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +SET @@GLOBAL.replicate_ignore_table= @name; +SELECT @@GLOBAL.replicate_ignore_table; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_ignore_table'; +--source include/show_slave_status.inc + --echo # Argument syntax. SET @@GLOBAL.replicate_ignore_table="test.t1,,,,,test.t3"; SELECT @@GLOBAL.replicate_ignore_table; SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_ignore_table'; +--source include/show_slave_status.inc SET @@GLOBAL.replicate_ignore_table="test.t1,,,test2.t2,,,test.t3"; SELECT @@GLOBAL.replicate_ignore_table; @@ -47,6 +63,9 @@ SELECT @@GLOBAL.replicate_ignore_table; SET @@GLOBAL.replicate_ignore_table=null; SELECT @@GLOBAL.replicate_ignore_table; +SET @@GLOBAL.replicate_ignore_table=DEFAULT; +SELECT @@GLOBAL.replicate_ignore_table; + --echo # Cleanup. SET @@GLOBAL.replicate_ignore_table = @save_replicate_ignore_table; diff --git a/mysql-test/suite/sys_vars/t/replicate_wild_do_table_basic.test b/mysql-test/suite/sys_vars/t/replicate_wild_do_table_basic.test index 832d3397f893c..201a16dae9f4d 100644 --- a/mysql-test/suite/sys_vars/t/replicate_wild_do_table_basic.test +++ b/mysql-test/suite/sys_vars/t/replicate_wild_do_table_basic.test @@ -1,4 +1,8 @@ +--source include/have_sequence.inc +# have show_slave_status --source include/not_embedded.inc +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; +--let $status_items= Replicate_Wild_Do_Table --echo # --echo # Basic testing of replicate_wild_do_table. @@ -32,11 +36,23 @@ SET @@GLOBAL.replicate_wild_do_table="test.t, t2"; --error ER_WRONG_ARGUMENTS SET @@GLOBAL.replicate_wild_do_table="test.,t1"; +# MDEV-35693 Replicate_* fields of Show-Slave-Status display truncated +--echo # Argument size acceptance. + +SELECT GROUP_CONCAT(CONCAT("database_name.long_table_name_", seq) SEPARATOR ",") + INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +SET @@GLOBAL.replicate_wild_do_table= @name; +SELECT @@GLOBAL.replicate_wild_do_table; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_do_table'; +--source include/show_slave_status.inc + --echo # Argument syntax. SET @@GLOBAL.replicate_wild_do_table="test.%,,,,,test.t3"; SELECT @@GLOBAL.replicate_wild_do_table; SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_do_table'; +--source include/show_slave_status.inc SET @@GLOBAL.replicate_wild_do_table="test.t1,,,test2.%,,,test.t3"; SELECT @@GLOBAL.replicate_wild_do_table; @@ -47,5 +63,8 @@ SELECT @@GLOBAL.replicate_wild_do_table; SET @@GLOBAL.replicate_wild_do_table=null; SELECT @@GLOBAL.replicate_wild_do_table; +SET @@GLOBAL.replicate_wild_do_table=DEFAULT; +SELECT @@GLOBAL.replicate_wild_do_table; + --echo # Cleanup. SET @@GLOBAL.replicate_wild_do_table = @save_replicate_wild_do_table; diff --git a/mysql-test/suite/sys_vars/t/replicate_wild_ignore_table_basic.test b/mysql-test/suite/sys_vars/t/replicate_wild_ignore_table_basic.test index 5cb1ff6c82047..9f63de8622d4b 100644 --- a/mysql-test/suite/sys_vars/t/replicate_wild_ignore_table_basic.test +++ b/mysql-test/suite/sys_vars/t/replicate_wild_ignore_table_basic.test @@ -1,4 +1,8 @@ +--source include/have_sequence.inc +# have show_slave_status --source include/not_embedded.inc +CHANGE MASTER TO master_host='127.0.0.1', master_user='root'; +--let $status_items= Replicate_Wild_Ignore_Table --echo # --echo # Basic testing of replicate_wild_ignore_table. @@ -32,11 +36,23 @@ SET @@GLOBAL.replicate_wild_ignore_table="test.t, t2"; --error ER_WRONG_ARGUMENTS SET @@GLOBAL.replicate_wild_ignore_table="test.,t1"; +# MDEV-35693 Replicate_* fields of Show-Slave-Status display truncated +--echo # Argument size acceptance. + +SELECT GROUP_CONCAT(CONCAT("database_name.long_table_name_", seq) SEPARATOR ",") + INTO @name FROM seq_1_to_8; +SELECT LENGTH(@name); +SET @@GLOBAL.replicate_wild_ignore_table= @name; +SELECT @@GLOBAL.replicate_wild_ignore_table; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_ignore_table'; +--source include/show_slave_status.inc + --echo # Argument syntax. SET @@GLOBAL.replicate_wild_ignore_table="test.%,,,,,test.t3"; SELECT @@GLOBAL.replicate_wild_ignore_table; SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='replicate_wild_ignore_table'; +--source include/show_slave_status.inc SET @@GLOBAL.replicate_wild_ignore_table="test.t1,,,test2.%,,,test.t3"; SELECT @@GLOBAL.replicate_wild_ignore_table; @@ -47,5 +63,8 @@ SELECT @@GLOBAL.replicate_wild_ignore_table; SET @@GLOBAL.replicate_wild_ignore_table=null; SELECT @@GLOBAL.replicate_wild_ignore_table; +SET @@GLOBAL.replicate_wild_ignore_table=DEFAULT; +SELECT @@GLOBAL.replicate_wild_ignore_table; + --echo # Cleanup. SET @@GLOBAL.replicate_wild_ignore_table = @save_replicate_wild_ignore_table;