From 2186a4f0b1cdd36ef9ba4f0ccc4ae5cb30bd1262 Mon Sep 17 00:00:00 2001 From: Michele Filisina Date: Thu, 12 Mar 2026 17:07:02 +0100 Subject: [PATCH 1/4] feat: Enable and test parsing of multiple replicate-do-table options. --- mysql-test/lib/My/Config.pm | 1 + mysql-test/main/list_parsing.cnf | 6 ++++++ mysql-test/main/list_parsing.result | 3 +++ mysql-test/main/list_parsing.test | 1 + 4 files changed, 11 insertions(+) create mode 100644 mysql-test/main/list_parsing.cnf create mode 100644 mysql-test/main/list_parsing.result create mode 100644 mysql-test/main/list_parsing.test diff --git a/mysql-test/lib/My/Config.pm b/mysql-test/lib/My/Config.pm index 3a83f26b05abf..d023f71c89e62 100644 --- a/mysql-test/lib/My/Config.pm +++ b/mysql-test/lib/My/Config.pm @@ -29,6 +29,7 @@ my %multipart_options= ( "plugin-load-add" => 1, "optimizer-switch" => 1, + "replicate-do-table" => 1, ); diff --git a/mysql-test/main/list_parsing.cnf b/mysql-test/main/list_parsing.cnf new file mode 100644 index 0000000000000..8f3202538a67e --- /dev/null +++ b/mysql-test/main/list_parsing.cnf @@ -0,0 +1,6 @@ +!include include/default_my.cnf + +[mysqld.1] +replicate_do_table=test.t1 +replicate_do_table=test.t2 +replicate_do_table=test.t3 \ No newline at end of file diff --git a/mysql-test/main/list_parsing.result b/mysql-test/main/list_parsing.result new file mode 100644 index 0000000000000..d8cafd91671f3 --- /dev/null +++ b/mysql-test/main/list_parsing.result @@ -0,0 +1,3 @@ +SHOW VARIABLES LIKE 'replicate_do_table'; +Variable_name Value +replicate_do_table test.t3,test.t1,test.t2 diff --git a/mysql-test/main/list_parsing.test b/mysql-test/main/list_parsing.test new file mode 100644 index 0000000000000..c79febde1b995 --- /dev/null +++ b/mysql-test/main/list_parsing.test @@ -0,0 +1 @@ +SHOW VARIABLES LIKE 'replicate_do_table'; \ No newline at end of file From 7f43dbb96c0142a78598b7d732b05589f0d4425c Mon Sep 17 00:00:00 2001 From: Michele Filisina Date: Thu, 12 Mar 2026 17:25:52 +0100 Subject: [PATCH 2/4] test: Add `not_embedded.inc` to prevent the list parsing test from running in embedded mode. --- mysql-test/main/list_parsing.test | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql-test/main/list_parsing.test b/mysql-test/main/list_parsing.test index c79febde1b995..2f55bb0b99c0d 100644 --- a/mysql-test/main/list_parsing.test +++ b/mysql-test/main/list_parsing.test @@ -1 +1,2 @@ +--source include/not_embedded.inc SHOW VARIABLES LIKE 'replicate_do_table'; \ No newline at end of file From 221ee4362d2bcf726fd58f03d9ee5c1da8ebc04d Mon Sep 17 00:00:00 2001 From: Michele Filisina Date: Fri, 13 Mar 2026 14:38:56 +0100 Subject: [PATCH 3/4] MTR Overwrites Test-Specific .cnf File Options On Duplicate Option Change list_parsing.test so that the output is always sorted, add multi-value filter names to Config.pm --- mysql-test/main/list_parsing.result | 12 +++++++++--- mysql-test/main/list_parsing.test | 8 +++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/mysql-test/main/list_parsing.result b/mysql-test/main/list_parsing.result index d8cafd91671f3..91e048d377508 100644 --- a/mysql-test/main/list_parsing.result +++ b/mysql-test/main/list_parsing.result @@ -1,3 +1,9 @@ -SHOW VARIABLES LIKE 'replicate_do_table'; -Variable_name Value -replicate_do_table test.t3,test.t1,test.t2 +SELECT GROUP_CONCAT(tbl ORDER BY tbl) AS sorted_replicate_do_table +FROM JSON_TABLE( +CONCAT('["', REPLACE(@@replicate_do_table, ',', '","'), '"]'), +'$[*]' COLUMNS ( +tbl VARCHAR(255) PATH '$' + ) +) AS jt; +sorted_replicate_do_table +test.t1,test.t2,test.t3 \ No newline at end of file diff --git a/mysql-test/main/list_parsing.test b/mysql-test/main/list_parsing.test index 2f55bb0b99c0d..8a52b0fd9da07 100644 --- a/mysql-test/main/list_parsing.test +++ b/mysql-test/main/list_parsing.test @@ -1,2 +1,8 @@ --source include/not_embedded.inc -SHOW VARIABLES LIKE 'replicate_do_table'; \ No newline at end of file +SELECT GROUP_CONCAT(tbl ORDER BY tbl) AS sorted_replicate_do_table +FROM JSON_TABLE( +CONCAT('["', REPLACE(@@replicate_do_table, ',', '","'), '"]'), +'$[*]' COLUMNS ( +tbl VARCHAR(255) PATH '$' + ) +) AS jt; \ No newline at end of file From 546f020e6cace22d4346820cd68bed9a40dfcf36 Mon Sep 17 00:00:00 2001 From: Michele Filisina Date: Fri, 13 Mar 2026 15:02:11 +0100 Subject: [PATCH 4/4] MTR Overwrites Test-Specific .cnf File Options On Duplicate Option Change list_parsing.test so that the output is always sorted, add multi-value filter names to Config.pm --- mysql-test/main/list_parsing.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/main/list_parsing.result b/mysql-test/main/list_parsing.result index 91e048d377508..d6827902a21e4 100644 --- a/mysql-test/main/list_parsing.result +++ b/mysql-test/main/list_parsing.result @@ -6,4 +6,4 @@ tbl VARCHAR(255) PATH '$' ) ) AS jt; sorted_replicate_do_table -test.t1,test.t2,test.t3 \ No newline at end of file +test.t1,test.t2,test.t3