From b331fe928c38666a7119aa62f7a8e3acbb4e330a Mon Sep 17 00:00:00 2001 From: unknown <guilhem@mysql.com> Date: Sun, 2 Mar 2003 18:20:32 +0100 Subject: [PATCH] ChangeSet 1.1625 was faulty as regards sql/mf_iocache.cc and LOAD DATA LOCAL replication tests mysql-test/r/rpl_loaddatalocal.result: ChangeSet 1.1625 was faulty as regards this file (LOAD DATA LOCAL bug) mysql-test/t/rpl_loaddatalocal.test: ChangeSet 1.1625 was faulty as regards this file (LOAD DATA LOCAL bug) sql/mf_iocache.cc: ChangeSet 1.1625 was faulty as regards this file (LOAD DATA LOCAL bug) --- mysql-test/r/rpl_loaddatalocal.result | 14 +++++++++++ mysql-test/t/rpl_loaddatalocal.test | 36 +++++++++++++++++++++++++++ sql/mf_iocache.cc | 1 - 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/rpl_loaddatalocal.result b/mysql-test/r/rpl_loaddatalocal.result index e69de29bb2d..dc98b1b5bfb 100644 --- a/mysql-test/r/rpl_loaddatalocal.result +++ b/mysql-test/r/rpl_loaddatalocal.result @@ -0,0 +1,14 @@ +slave stop; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +slave start; +create table t1(a int); +select * into outfile '../../var/master-data/rpl_loaddatalocal.select_outfile' from t1; +truncate table t1; +load data local infile './var/master-data/rpl_loaddatalocal.select_outfile' into table t1; +select a,count(*) from t1 group by a; +a count(*) +1 10000 +drop table t1; diff --git a/mysql-test/t/rpl_loaddatalocal.test b/mysql-test/t/rpl_loaddatalocal.test index e69de29bb2d..70f4ab96b6a 100644 --- a/mysql-test/t/rpl_loaddatalocal.test +++ b/mysql-test/t/rpl_loaddatalocal.test @@ -0,0 +1,36 @@ +# See if "LOAD DATA LOCAL INFILE" is well replicated +# (LOAD DATA LOCAL INFILE is not written to the binlog +# the same way as LOAD DATA INFILE : Append_blocks are smaller). +# In MySQL 4.0 <4.0.12 there were 2 bugs with LOAD DATA LOCAL INFILE : +# - the loaded file was not written entirely to the master's binlog, +# only the first 4KB, 8KB or 16KB usually. +# - the loaded file's first line was not written entirely to the +# master's binlog (1st char was absent) +source include/master-slave.inc; + +create table t1(a int); +let $1=10000; +disable_query_log; +set SQL_LOG_BIN=0; +while ($1) +{ +#eval means expand $ expressions + eval insert into t1 values(1); + dec $1; +} +set SQL_LOG_BIN=1; +enable_query_log; +select * into outfile '../../var/master-data/rpl_loaddatalocal.select_outfile' from t1; +#This will generate a 20KB file, now test LOAD DATA LOCAL +truncate table t1; +load data local infile './var/master-data/rpl_loaddatalocal.select_outfile' into table t1; +system rm ./var/master-data/rpl_loaddatalocal.select_outfile ; +save_master_pos; +connection slave; +sync_with_master; +select a,count(*) from t1 group by a; +connection master; +drop table t1; +save_master_pos; +connection slave; +sync_with_master; diff --git a/sql/mf_iocache.cc b/sql/mf_iocache.cc index 3b70dae2563..c79317cfeb3 100644 --- a/sql/mf_iocache.cc +++ b/sql/mf_iocache.cc @@ -81,7 +81,6 @@ int _my_b_net_read(register IO_CACHE *info, byte *Buffer, info->read_pos++; -info->request_pos=info->read_pos; DBUG_RETURN(0); } -- 2.30.9