Loading BitKeeper/etc/collapsed +1 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,4 @@ 4519a6c5BVUxEHTf5iJnjZkixMBs8g 451ab499rgdjXyOnUDqHu-wBDoS-OQ 452c6c6dAjuNghfc1ObZ_UQ5SCl85g 4538a7b0EbDHHkWPbIwxO6ZIDdg6Dg mysql-test/r/rpl_ignore_table.result +16 −0 Original line number Diff line number Diff line Loading @@ -14,3 +14,19 @@ SELECT * FROM t4; a DROP TABLE t1; DROP TABLE t4; DROP TABLE IF EXISTS t5; CREATE TABLE t5 ( word varchar(50) collate utf8_unicode_ci NOT NULL default '' ) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; SET @@session.character_set_client=33,@@session.collation_connection=192; CREATE TEMPORARY TABLE tmptbl504451f4258$1 (id INT NOT NULL) ENGINE=MEMORY; INSERT INTO t5 (word) VALUES ('TEST’'); SELECT HEX(word) FROM t5; HEX(word) 54455354E28099 SELECT HEX(word) FROM t5; HEX(word) 54455354E28099 SELECT * FROM tmptbl504451f4258$1; ERROR 42S02: Table 'test.tmptbl504451f4258$1' doesn't exist DROP TABLE t5; mysql-test/t/rpl_ignore_table-slave.opt +1 −1 Original line number Diff line number Diff line --replicate-ignore-table=test.t1 --replicate-ignore-table=test.t2 --replicate-ignore-table=test.t3 --replicate-ignore-table=test.t1 --replicate-ignore-table=test.t2 --replicate-ignore-table=test.t3 --replicate-wild-ignore-table=%.tmptbl% mysql-test/t/rpl_ignore_table.test +23 −0 Original line number Diff line number Diff line Loading @@ -26,3 +26,26 @@ SELECT * FROM t4; connection master; DROP TABLE t1; DROP TABLE t4; # # bug#22877 replication character sets get out of sync # using replicate-wild-ignore-table # --disable_warnings DROP TABLE IF EXISTS t5; --enable_warnings CREATE TABLE t5 ( word varchar(50) collate utf8_unicode_ci NOT NULL default '' ) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; SET @@session.character_set_client=33,@@session.collation_connection=192; CREATE TEMPORARY TABLE tmptbl504451f4258$1 (id INT NOT NULL) ENGINE=MEMORY; INSERT INTO t5 (word) VALUES ('TEST’'); SELECT HEX(word) FROM t5; sync_slave_with_master; connection slave; SELECT HEX(word) FROM t5; --error 1146 SELECT * FROM tmptbl504451f4258$1; connection master; DROP TABLE t5; sql/sql_parse.cc +17 −1 Original line number Diff line number Diff line Loading @@ -2494,7 +2494,23 @@ mysql_execute_command(THD *thd) { /* we warn the slave SQL thread */ my_message(ER_SLAVE_IGNORED_TABLE, ER(ER_SLAVE_IGNORED_TABLE), MYF(0)); if (thd->one_shot_set) { /* It's ok to check thd->one_shot_set here: The charsets in a MySQL 5.0 slave can change by both a binlogged SET ONE_SHOT statement and the event-internal charset setting, and these two ways to change charsets do not seems to work together. At least there seems to be problems in the rli cache for charsets if we are using ONE_SHOT. Note that this is normally no problem because either the >= 5.0 slave reads a 4.1 binlog (with ONE_SHOT) *or* or 5.0 binlog (without ONE_SHOT) but never both." */ reset_one_shot_variables(thd); } DBUG_RETURN(0); } } Loading Loading
BitKeeper/etc/collapsed +1 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,4 @@ 4519a6c5BVUxEHTf5iJnjZkixMBs8g 451ab499rgdjXyOnUDqHu-wBDoS-OQ 452c6c6dAjuNghfc1ObZ_UQ5SCl85g 4538a7b0EbDHHkWPbIwxO6ZIDdg6Dg
mysql-test/r/rpl_ignore_table.result +16 −0 Original line number Diff line number Diff line Loading @@ -14,3 +14,19 @@ SELECT * FROM t4; a DROP TABLE t1; DROP TABLE t4; DROP TABLE IF EXISTS t5; CREATE TABLE t5 ( word varchar(50) collate utf8_unicode_ci NOT NULL default '' ) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; SET @@session.character_set_client=33,@@session.collation_connection=192; CREATE TEMPORARY TABLE tmptbl504451f4258$1 (id INT NOT NULL) ENGINE=MEMORY; INSERT INTO t5 (word) VALUES ('TEST’'); SELECT HEX(word) FROM t5; HEX(word) 54455354E28099 SELECT HEX(word) FROM t5; HEX(word) 54455354E28099 SELECT * FROM tmptbl504451f4258$1; ERROR 42S02: Table 'test.tmptbl504451f4258$1' doesn't exist DROP TABLE t5;
mysql-test/t/rpl_ignore_table-slave.opt +1 −1 Original line number Diff line number Diff line --replicate-ignore-table=test.t1 --replicate-ignore-table=test.t2 --replicate-ignore-table=test.t3 --replicate-ignore-table=test.t1 --replicate-ignore-table=test.t2 --replicate-ignore-table=test.t3 --replicate-wild-ignore-table=%.tmptbl%
mysql-test/t/rpl_ignore_table.test +23 −0 Original line number Diff line number Diff line Loading @@ -26,3 +26,26 @@ SELECT * FROM t4; connection master; DROP TABLE t1; DROP TABLE t4; # # bug#22877 replication character sets get out of sync # using replicate-wild-ignore-table # --disable_warnings DROP TABLE IF EXISTS t5; --enable_warnings CREATE TABLE t5 ( word varchar(50) collate utf8_unicode_ci NOT NULL default '' ) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; SET @@session.character_set_client=33,@@session.collation_connection=192; CREATE TEMPORARY TABLE tmptbl504451f4258$1 (id INT NOT NULL) ENGINE=MEMORY; INSERT INTO t5 (word) VALUES ('TEST’'); SELECT HEX(word) FROM t5; sync_slave_with_master; connection slave; SELECT HEX(word) FROM t5; --error 1146 SELECT * FROM tmptbl504451f4258$1; connection master; DROP TABLE t5;
sql/sql_parse.cc +17 −1 Original line number Diff line number Diff line Loading @@ -2494,7 +2494,23 @@ mysql_execute_command(THD *thd) { /* we warn the slave SQL thread */ my_message(ER_SLAVE_IGNORED_TABLE, ER(ER_SLAVE_IGNORED_TABLE), MYF(0)); if (thd->one_shot_set) { /* It's ok to check thd->one_shot_set here: The charsets in a MySQL 5.0 slave can change by both a binlogged SET ONE_SHOT statement and the event-internal charset setting, and these two ways to change charsets do not seems to work together. At least there seems to be problems in the rli cache for charsets if we are using ONE_SHOT. Note that this is normally no problem because either the >= 5.0 slave reads a 4.1 binlog (with ONE_SHOT) *or* or 5.0 binlog (without ONE_SHOT) but never both." */ reset_one_shot_variables(thd); } DBUG_RETURN(0); } } Loading