Below is the list of changes that have just been committed into a local
5.0 repository of bar. When bar does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2006-10-20 15:40:48+05:00, bar@stripped +4 -0
Bug#22877 replication character sets get out of
sync using replicate-wild-ignore-table
Problem: changes in character set variables
before an action on an replication-ignored table
makes slave to forget new variable values.
Fix: don't initialize one_shot variables when
all_tables_not_ok() - new variable values must
affect further queries as well.
mysql-test/r/rpl_ignore_table.result@stripped, 2006-10-20 15:40:43+05:00, bar@stripped +16
-0
Adding test case
mysql-test/t/rpl_ignore_table-slave.opt@stripped, 2006-10-20 15:40:43+05:00, bar@stripped +1
-1
Don't replicate tables with names starting with "tmptbl"
mysql-test/t/rpl_ignore_table.test@stripped, 2006-10-20 15:40:43+05:00, bar@stripped +23 -0
Adding test case
sql/sql_parse.cc@stripped, 2006-10-20 15:40:43+05:00, bar@stripped +0 -1
Remove wrong code which makes thd->variables out of sync with
st_relay_log_info::cached_charset, which makes
st_relay_log_info::cached_charset_compare() not to notice
character set related variables changes afterwards.
This looks like old 4.1 code which is not required in 5.0 anymore.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: bar
# Host: bar.intranet.mysql.r18.ru
# Root: /usr/home/bar/mysql-5.0.b22877
--- 1.580/sql/sql_parse.cc 2006-10-20 15:40:57 +05:00
+++ 1.581/sql/sql_parse.cc 2006-10-20 15:40:57 +05:00
@@ -2480,7 +2480,6 @@
{
/* we warn the slave SQL thread */
my_message(ER_SLAVE_IGNORED_TABLE, ER(ER_SLAVE_IGNORED_TABLE), MYF(0));
- reset_one_shot_variables(thd);
DBUG_RETURN(0);
}
}
--- 1.1/mysql-test/r/rpl_ignore_table.result 2006-10-20 15:40:57 +05:00
+++ 1.2/mysql-test/r/rpl_ignore_table.result 2006-10-20 15:40:57 +05:00
@@ -14,3 +14,19 @@
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;
--- 1.1/mysql-test/t/rpl_ignore_table-slave.opt 2006-10-20 15:40:57 +05:00
+++ 1.2/mysql-test/t/rpl_ignore_table-slave.opt 2006-10-20 15:40:57 +05:00
@@ -1 +1 @@
---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%
--- 1.1/mysql-test/t/rpl_ignore_table.test 2006-10-20 15:40:57 +05:00
+++ 1.2/mysql-test/t/rpl_ignore_table.test 2006-10-20 15:40:57 +05:00
@@ -26,3 +26,26 @@
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;
| Thread |
|---|
| • bk commit into 5.0 tree (bar:1.2299) BUG#22877 | bar | 20 Oct |