mirror of
https://github.com/MariaDB/server.git
synced 2025-12-10 19:44:09 +03:00
This patch fixes problem that LOAD DATA could use different character sets when loading files on master and on slave sides: - Adding replication of thd->variables.collation_database - Adding optional character set clause into LOAD DATA Note, the second way, with explicit CHARACTER SET clause should be the recommended way to load data using an alternative character set. The old way, using "SET @@character_set_database=xxx" should be gradually depricated.
34 lines
1013 B
Plaintext
34 lines
1013 B
Plaintext
#
|
|
# Check LOAD DATA + character sets + replication
|
|
#
|
|
source include/master-slave.inc;
|
|
|
|
#
|
|
# Bug#15126 character_set_database is not replicated
|
|
# (LOAD DATA INFILE need it)
|
|
#
|
|
connection master;
|
|
create table t1 (a varchar(10) character set utf8);
|
|
load data infile '../std_data_ln/loaddata6.dat' into table t1;
|
|
set @@character_set_database=koi8r;
|
|
load data infile '../std_data_ln/loaddata6.dat' into table t1;
|
|
set @@character_set_database=DEFAULT;
|
|
load data infile '../std_data_ln/loaddata6.dat' into table t1;
|
|
load data infile '../std_data_ln/loaddata6.dat' into table t1;
|
|
load data infile '../std_data_ln/loaddata6.dat' into table t1;
|
|
set @@character_set_database=koi8r;
|
|
load data infile '../std_data_ln/loaddata6.dat' into table t1;
|
|
set @@character_set_database=DEFAULT;
|
|
load data infile '../std_data_ln/loaddata6.dat' into table t1 character set koi8r;
|
|
|
|
select hex(a) from t1;
|
|
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
|
|
select hex(a) from t1;
|
|
connection master;
|
|
drop table t1;
|
|
sync_slave_with_master;
|