diff options
author | unknown <lars@mysql.com> | 2005-02-21 16:26:04 +0100 |
---|---|---|
committer | unknown <lars@mysql.com> | 2005-02-21 16:26:04 +0100 |
commit | df1b674a695c6cba3228a94a556f97c707e732fc (patch) | |
tree | 0445b34fd1796c5c48a50c5badb74851a63cf326 | |
parent | 96f9c9d9d372b45e0271f2caccec948ddc6c7fc4 (diff) | |
download | mariadb-git-df1b674a695c6cba3228a94a556f97c707e732fc.tar.gz |
BUG#6676: Derivation of user variables should be of derivation "IMPLICIT"
-rw-r--r-- | mysql-test/r/rpl_charset.result | 7 | ||||
-rw-r--r-- | mysql-test/t/rpl_charset.test | 13 | ||||
-rw-r--r-- | sql/log_event.cc | 2 |
3 files changed, 21 insertions, 1 deletions
diff --git a/mysql-test/r/rpl_charset.result b/mysql-test/r/rpl_charset.result index cab41344238..292cfb19175 100644 --- a/mysql-test/r/rpl_charset.result +++ b/mysql-test/r/rpl_charset.result @@ -207,3 +207,10 @@ select hex(c1), hex(c2) from t1; hex(c1) hex(c2) CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3 drop table t1; +create table `t1` ( +`pk` varchar(10) not null default '', +primary key (`pk`) +) engine=myisam default charset=latin1; +set @p=_latin1 'test'; +update t1 set pk='test' where pk=@p; +drop table t1; diff --git a/mysql-test/t/rpl_charset.test b/mysql-test/t/rpl_charset.test index 68036ae49f1..3f7eabfa434 100644 --- a/mysql-test/t/rpl_charset.test +++ b/mysql-test/t/rpl_charset.test @@ -169,3 +169,16 @@ select hex(c1), hex(c2) from t1; connection master; drop table t1; sync_slave_with_master; + +# +# BUG#6676: Derivation of variables must be correct on slave +# +connection master; +create table `t1` ( + `pk` varchar(10) not null default '', + primary key (`pk`) +) engine=myisam default charset=latin1; +set @p=_latin1 'test'; +update t1 set pk='test' where pk=@p; +drop table t1; +sync_slave_with_master; diff --git a/sql/log_event.cc b/sql/log_event.cc index 19113a3b97e..7d2848700f6 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -2528,7 +2528,7 @@ int User_var_log_event::exec_event(struct st_relay_log_info* rli) 0 can be passed as last argument (reference on item) */ e.fix_fields(thd, 0, 0); - e.update_hash(val, val_len, type, charset, DERIVATION_NONE); + e.update_hash(val, val_len, type, charset, DERIVATION_IMPLICIT); free_root(thd->mem_root,0); rli->inc_event_relay_log_pos(get_event_len()); |