Commit c423ecc0 authored by unknown's avatar unknown
Browse files

Bug#22645 LC_TIME_NAMES: Statement not replicated

Implementing event based replication of LC_TIME_NAMES for 5.0
(as a replacement of previously made ONE_SHOT replication)


mysql-test/r/mysqlbinlog.result:
  Fixing results
mysql-test/r/rpl_locale.result:
  Fixing results
mysql-test/t/disabled.def:
  Enabling rpl_locale
mysql-test/t/mysqlbinlog.test:
  Check "mysqlbinlog | mysql" reproduces lc_time_names correctly.
mysql-test/t/rpl_locale.test:
  Adding new test: that setting lc_time_names back to en_US works fine.
sql/log_event.cc:
  Implementing event based replication of LC_TIME_NAMES for 5.0
  (as a replacement of previously made ONE_SHOT replication)
sql/log_event.h:
  Adding new Q_*_CODE
  Adding "lc_time_names_number" members into Query_log_event and PRINT_EVENT_INFO
parent 21b9187a
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -194,4 +194,24 @@ select * from t5 /* must be (1),(1) */;
a
1
1
flush logs;
drop table if exists t5;
create table t5 (c1 int, c2 varchar(128) character set latin1 not null);
insert into t5 values (1, date_format('2001-01-01','%W'));
set lc_time_names=de_DE;
insert into t5 values (2, date_format('2001-01-01','%W'));
set lc_time_names=en_US;
insert into t5 values (3, date_format('2001-01-01','%W'));
select * from t5 order by c1;
c1	c2
1	Monday
2	Montag
3	Monday
flush logs;
drop table t5;
select * from t5 order by c1;
c1	c2
1	Monday
2	Montag
3	Monday
drop table t1, t2, t03, t04, t3, t4, t5;
+4 −0
Original line number Diff line number Diff line
@@ -7,10 +7,14 @@ start slave;
create table t1 (s1 char(10));
set lc_time_names= 'de_DE';
insert into t1 values (date_format('2001-01-01','%W'));
set lc_time_names= 'en_US';
insert into t1 values (date_format('2001-01-01','%W'));
select * from t1;
s1
Montag
Monday
select * from t1;
s1
Montag
Monday
drop table t1;
+0 −1
Original line number Diff line number Diff line
@@ -11,6 +11,5 @@
##############################################################################

ndb_load        : Bug#17233
rpl_locale	: Bug#22645
user_limits     : Bug#23921 random failure of user_limits.test
+19 −0
Original line number Diff line number Diff line
@@ -134,6 +134,25 @@ flush logs;
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000006 | $MYSQL
select * from t5  /* must be (1),(1) */;

#
# Bug#22645 LC_TIME_NAMES: Statement not replicated
# Check that a dump created by mysqlbinlog reproduces
# lc_time_names dependent values correctly
#
flush logs;
drop table if exists t5;
create table t5 (c1 int, c2 varchar(128) character set latin1 not null);
insert into t5 values (1, date_format('2001-01-01','%W'));
set lc_time_names=de_DE;
insert into t5 values (2, date_format('2001-01-01','%W'));
set lc_time_names=en_US;
insert into t5 values (3, date_format('2001-01-01','%W'));
select * from t5 order by c1;
flush logs;
drop table t5;
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000007 | $MYSQL
select * from t5 order by c1;

# clean up
drop table t1, t2, t03, t04, t3, t4, t5; 

+2 −0
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@ connection master;
create table t1 (s1 char(10));
set lc_time_names= 'de_DE';
insert into t1 values (date_format('2001-01-01','%W'));
set lc_time_names= 'en_US';
insert into t1 values (date_format('2001-01-01','%W'));
select * from t1;
sync_slave_with_master;
connection slave;
Loading