mirror of
https://github.com/MariaDB/server.git
synced 2025-05-08 15:01:49 +03:00

Replication using replicate-rewrite-db did not work for LOAD DATA INFILE. Now is does. There was one place in the code that used current database instead of the rewrite database.
78 lines
2.0 KiB
Plaintext
78 lines
2.0 KiB
Plaintext
source include/master-slave.inc;
|
|
--disable_warnings
|
|
drop database if exists mysqltest1;
|
|
--enable_warnings
|
|
create database mysqltest1;
|
|
|
|
use mysqltest1;
|
|
create table t1 (a int);
|
|
insert into t1 values(9);
|
|
select * from mysqltest1.t1;
|
|
sync_slave_with_master;
|
|
show databases like 'mysqltest1'; # should be empty
|
|
select * from test.t1;
|
|
# cleanup
|
|
connection master;
|
|
drop table t1;
|
|
drop database mysqltest1;
|
|
sync_slave_with_master;
|
|
|
|
#
|
|
# BUG#6353:
|
|
# Option --replicate-rewrite-db should work together with LOAD DATA INFILE
|
|
#
|
|
|
|
connection slave;
|
|
--disable_warnings
|
|
drop database if exists rewrite;
|
|
--enable_warnings
|
|
create database rewrite;
|
|
|
|
connection master;
|
|
use test;
|
|
create table t1 (a date, b date, c date not null, d date);
|
|
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',';
|
|
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
|
|
sync_slave_with_master;
|
|
|
|
connection slave;
|
|
select * from rewrite.t1;
|
|
|
|
connection master;
|
|
truncate table t1;
|
|
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
|
|
sync_slave_with_master;
|
|
|
|
connection slave;
|
|
select * from rewrite.t1;
|
|
|
|
connection master;
|
|
drop table t1;
|
|
create table t1 (a text, b text);
|
|
load data infile '../../std_data/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
|
|
sync_slave_with_master;
|
|
|
|
connection slave;
|
|
select concat('|',a,'|'), concat('|',b,'|') from rewrite.t1;
|
|
|
|
connection master;
|
|
drop table t1;
|
|
create table t1 (a int, b char(10));
|
|
load data infile '../../std_data/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
|
|
sync_slave_with_master;
|
|
|
|
connection slave;
|
|
select * from rewrite.t1;
|
|
|
|
connection master;
|
|
truncate table t1;
|
|
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
|
|
sync_slave_with_master;
|
|
|
|
connection slave;
|
|
# The empty line last comes from the end line field in the file
|
|
select * from rewrite.t1;
|
|
|
|
connection master;
|
|
drop table t1;
|