mariadb/mysql-test/extra/rpl_tests/rpl_stm_charset.test
unknown 2c86b5ad16 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/w3464-mysql-5.1-new-rpl


client/Makefile.am:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/rpl_injector.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
mysql-test/r/ctype_cp932_binlog_stm.result:
  Manual merge
  ,
mysql-test/r/flush_block_commit_notembedded.result:
  Manual merge
mysql-test/r/rpl_000015.result:
  Manual merge
mysql-test/r/rpl_change_master.result:
  Manual merge
mysql-test/r/rpl_deadlock_innodb.result:
  Manual merge
mysql-test/r/rpl_flushlog_loop.result:
  Manual merge
  ,
mysql-test/r/rpl_loaddata.result:
  manual merge
mysql-test/r/rpl_loaddata_s.result:
  manual merge
  ,
mysql-test/r/rpl_log_pos.result:
  manual merge
mysql-test/r/rpl_ndb_charset.result:
  manual merge
mysql-test/r/rpl_ndb_log.result:
  manual merge
  ,
mysql-test/r/rpl_ndb_multi.result:
  manual merge
mysql-test/r/rpl_rbr_to_sbr.result:
  manual merge
mysql-test/r/rpl_rotate_logs.result:
  Manual merge
mysql-test/r/rpl_row_basic_11bugs.result:
  Manual merge
mysql-test/r/rpl_row_charset.result:
  Manual merge
mysql-test/r/rpl_row_create_table.result:
  Manual merge
mysql-test/r/rpl_row_delayed_ins.result:
  Manual merge
mysql-test/r/rpl_row_drop.result:
  Manual merge
mysql-test/r/rpl_row_flsh_tbls.result:
  Manual merge
mysql-test/r/rpl_row_inexist_tbl.result:
  Manual merge
mysql-test/r/rpl_row_log.result:
  Manual merge
mysql-test/r/rpl_row_log_innodb.result:
  Manual merge
mysql-test/r/rpl_row_max_relay_size.result:
  Manual merge
mysql-test/r/rpl_row_reset_slave.result:
  Manual merge
mysql-test/r/rpl_row_until.result:
  Manual merge
mysql-test/r/rpl_server_id1.result:
  Manual merge
mysql-test/r/rpl_server_id2.result:
  Manual merge
mysql-test/r/rpl_sp.result:
  Manual merge
mysql-test/r/rpl_stm_charset.result:
  Manual merge
mysql-test/r/rpl_stm_flsh_tbls.result:
  Manual merge
mysql-test/r/rpl_stm_log.result:
  Manual merge
mysql-test/r/rpl_stm_max_relay_size.result:
  Manual merge
mysql-test/r/rpl_stm_multi_query.result:
  Manual merge
mysql-test/r/rpl_stm_reset_slave.result:
  Manual merge
mysql-test/r/rpl_stm_until.result:
  Manual merge
mysql-test/r/rpl_switch_stm_row_mixed.result:
  Manual merge
mysql-test/r/rpl_truncate_2myisam.result:
  Manual merge
mysql-test/r/rpl_truncate_3innodb.result:
  Manual merge
mysql-test/r/rpl_truncate_7ndb.result:
  Manual merge
mysql-test/r/user_var-binlog.result:
  Manual merge
mysql-test/t/binlog_row_mix_innodb_myisam.test:
  Manual merge
mysql-test/extra/binlog_tests/binlog.test:
  Binlog position change.
mysql-test/extra/binlog_tests/binlog_insert_delayed.test:
  Binlog position change.
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
  Binlog position change.
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
  Binlog position change.
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Binlog position change.
mysql-test/extra/rpl_tests/rpl_deadlock.test:
  Binlog position change.
mysql-test/extra/rpl_tests/rpl_log.test:
  Binlog position change.
mysql-test/extra/rpl_tests/rpl_multi_query.test:
  Binlog position change.
mysql-test/extra/rpl_tests/rpl_row_charset.test:
  Binlog position change.
mysql-test/extra/rpl_tests/rpl_stm_charset.test:
  Binlog position change.
mysql-test/include/show_binlog_events.inc:
  Binlog position change.
mysql-test/r/binlog_row_binlog.result:
  Result change
mysql-test/r/binlog_row_ctype_ucs.result:
  Result change
mysql-test/r/binlog_row_insert_select.result:
  Result change
mysql-test/r/binlog_row_mix_innodb_myisam.result:
  Result change
mysql-test/r/binlog_stm_binlog.result:
  Result change
mysql-test/r/binlog_stm_ctype_ucs.result:
  Result change
mysql-test/r/binlog_stm_insert_select.result:
  Result change
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
  Result change
mysql-test/r/ctype_cp932_binlog_row.result:
  Result change
mysql-test/t/binlog_stm_mix_innodb_myisam.test:
  Binlog position change.
mysql-test/t/ctype_cp932_binlog_stm.test:
  Binlog position change.
mysql-test/t/mysqlbinlog.test:
  Binlog position change.
mysql-test/t/mysqlbinlog2.test:
  Binlog position change.
mysql-test/t/rpl_loaddata_s.test:
  Binlog position change.
mysql-test/t/rpl_log_pos.test:
  Binlog position change.
mysql-test/t/rpl_row_basic_11bugs.test:
  Binlog position change.
mysql-test/t/rpl_row_create_table.test:
  Binlog position change.
mysql-test/t/rpl_row_flsh_tbls.test:
  Binlog position change.
mysql-test/t/rpl_row_mysqlbinlog.test:
  Binlog position change.
mysql-test/t/rpl_sp.test:
  Binlog position change.
mysql-test/t/rpl_stm_flsh_tbls.test:
  Binlog position change.
mysql-test/t/rpl_switch_stm_row_mixed.test:
  Binlog position change.
mysql-test/t/user_var-binlog.test:
  Binlog position change.
sql/share/errmsg.txt:
  Merging error messages
2007-03-29 21:38:03 +02:00

176 lines
5.3 KiB
Text
Raw Blame History

# Replication of character sets.
# This test will fail if the server/client does not support enough charsets.
# Requires statement logging
-- source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc;
--disable_warnings
set timestamp=1000000000;
drop database if exists mysqltest2;
drop database if exists mysqltest3;
--enable_warnings
create database mysqltest2 character set latin2;
set @@character_set_server=latin5;
create database mysqltest3;
--disable_query_log
select "--- --master--" as "";
--enable_query_log
show create database mysqltest2;
show create database mysqltest3;
sync_slave_with_master;
--disable_query_log
select "--- --slave--" as "";
--enable_query_log
show create database mysqltest2;
show create database mysqltest3;
connection master;
set @@collation_server=armscii8_bin;
drop database mysqltest3;
create database mysqltest3;
--disable_query_log
select "--- --master--" as "";
--enable_query_log
show create database mysqltest3;
sync_slave_with_master;
--disable_query_log
select "--- --slave--" as "";
--enable_query_log
show create database mysqltest3;
connection master;
use mysqltest2;
create table t1 (a int auto_increment primary key, b varchar(100));
set character_set_client=cp850, collation_connection=latin2_croatian_ci;
insert into t1 (b) values(@@character_set_server);
insert into t1 (b) values(@@collation_server);
# character_set_database and collation_database are not tested as they
# needn't be replicated (Bar said in Jan 2005).
insert into t1 (b) values(@@character_set_client);
# collation_client does not exist
insert into t1 (b) values(@@character_set_connection);
insert into t1 (b) values(@@collation_connection);
--disable_query_log
select "--- --master--" as "";
--enable_query_log
select * from t1 order by a;
sync_slave_with_master;
--disable_query_log
select "--- --slave--" as "";
--enable_query_log
select * from mysqltest2.t1 order by a;
connection master;
set character_set_client=latin1, collation_connection=latin1_german1_ci;
truncate table t1;
insert into t1 (b) values(@@collation_connection);
insert into t1 (b) values(LEAST("M<>ller","Muffler"));
set collation_connection=latin1_german2_ci;
insert into t1 (b) values(@@collation_connection);
insert into t1 (b) values(LEAST("M<>ller","Muffler"));
--disable_query_log
select "--- --master--" as "";
--enable_query_log
select * from t1 order by a;
sync_slave_with_master;
--disable_query_log
select "--- --slave--" as "";
--enable_query_log
select * from mysqltest2.t1 order by a;
# Presently charset info is not logged with LOAD DATA but it will
# change in Jan 2005 when Dmitri pushes his new LOAD DATA,
# before 5.0.3 goes out. When done, LOAD DATA INFILE should be tested
# here.
# See if user var is prefixed with collation in binlog and replicated well.
# Note: replication of user variables is broken as far as derivation is
# concerned. That's because when we store a user variable in the binlog,
# we lose its derivation. So later on the slave, it's impossible to
# know if the collation was explicit or not, so we use DERIVATION_NONE,
# which provokes error messages (like 'Illegal mix of collation') when
# we replay the master's INSERT/etc statements.
connection master;
set @a= _cp850 'M<>ller' collate cp850_general_ci;
truncate table t1;
insert into t1 (b) values(collation(@a));
--disable_query_log
select "--- --master--" as "";
--enable_query_log
select * from t1 order by a;
sync_slave_with_master;
--disable_query_log
select "--- --slave--" as "";
--enable_query_log
select * from mysqltest2.t1 order by a;
connection master;
drop database mysqltest2;
drop database mysqltest3;
source include/show_binlog_events.inc;
sync_slave_with_master;
# Check that we can change global.collation_server (since 5.0.3)
set global character_set_server=latin2;
set global character_set_server=latin1; # back
connection master;
set global character_set_server=latin2;
set global character_set_server=latin1; # back
# Check that SET ONE_SHOT is really one shot
set one_shot @@character_set_server=latin5;
set @@max_join_size=1000;
select @@character_set_server;
select @@character_set_server;
set @@character_set_server=latin5;
select @@character_set_server;
select @@character_set_server;
# ONE_SHOT on not charset/collation stuff is not allowed
-- error 1382
set one_shot max_join_size=10;
# Test of wrong character set numbers;
error 1115;
set character_set_client=9999999;
error 1273;
set collation_server=9999998;
# This one was contributed by Sergey Petrunia (BUG#3943)
use test;
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
SET CHARACTER_SET_CLIENT=koi8r,
CHARACTER_SET_CONNECTION=cp1251,
CHARACTER_SET_RESULTS=koi8r;
INSERT INTO t1 (c1, c2) VALUES ('<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
select hex(c1), hex(c2) from t1;
sync_slave_with_master;
select hex(c1), hex(c2) from t1;
connection master;
# Let's have a look at generated SETs.
flush logs;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
--exec $MYSQL_BINLOG --short-form $MYSQLTEST_VARDIR/log/master-bin.000001
drop table t1;
sync_slave_with_master;
#
# BUG#6676: Derivation of variables must be correct on slave
#
connection master;
eval create table `t1` (
`pk` varchar(10) not null default '',
primary key (`pk`)
) engine=$engine_type default charset=latin1;
set @p=_latin1 'test';
update t1 set pk='test' where pk=@p;
drop table t1;
sync_slave_with_master;
# End of 4.1 tests