1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

-- Waiting for Monty's approval before push --

Bug 571: play LOAD DATA INFILE the same way on the slave as it was on the master: 
if it was with IGNORE, do it with IGNORE,
if it was with REPLACE, do it with REPLACE,
and (the change) if it was with nothing, do it with nothing (not with IGNORE !!).
Bug 573: print a proper error message in case of duplicate entry in LOAD DATA INFILE
on the slave, i.e. a message where the keyname and key value appear :
'Duplicate entry '1' for key 1' and not 'Duplicate entry '%-.64s' for key %d'


mysql-test/r/rpl_loaddata.result:
  result update
mysql-test/t/rpl_loaddata.test:
  check if duplicate entries on the slave trigger an error 
  when the slave replicates LOAD DATA INFILE (without IGNORE or REPLACE)
  (bug 571).
sql/log_event.cc:
  Bug 571: play LOAD DATA INFILE the same way on the slave as it was on the master: 
  if it was with IGNORE, do it with IGNORE,
  if it was with REPLACE, do it with REPLACE,
  and (the change) if it was with nothing, do it with nothing (not with IGNORE !!).
  Bug 573: print a proper error message in case of duplicate entry in LOAD DATA INFILE
  on the slave, i.e. a message where the keyname and key value appear :
  'Duplicate entry '1' for key 1' and not 'Duplicate entry '%-.64s' for key %d'
This commit is contained in:
unknown
2003-06-03 15:47:29 +02:00
parent 4e0e0b5b42
commit ccb398b9ee
3 changed files with 54 additions and 6 deletions

View File

@ -22,3 +22,9 @@ day id category name
drop table t1;
drop table t2;
drop table t3;
create table t1(a int, b int, unique(b));
insert into t1 values(1,10);
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
show status like 'slave_running';
Variable_name Value
Slave_running OFF

View File

@ -4,6 +4,9 @@
#
# check replication of load data for temporary tables with additional parameters
#
# check if duplicate entries trigger an error (they should unless IGNORE or
# REPLACE was used on the master) (bug 571).
source include/master-slave.inc;
create table t1(a int not null auto_increment, b int, primary key(a) );
@ -27,7 +30,21 @@ connection master;
drop table t1;
drop table t2;
drop table t3;
create table t1(a int, b int, unique(b));
save_master_pos;
connection slave;
sync_with_master;
insert into t1 values(1,10);
connection master;
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
save_master_pos;
connection slave;
# don't sync_with_master because the slave SQL thread should be stopped because
# of the error so MASTER_POS_WAIT() will not return; just sleep and hope the
# slave SQL thread will have had time to stop.
sleep 1;
show status like 'slave_running';