summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <guilhem@mysql.com>2003-03-02 18:20:32 +0100
committerunknown <guilhem@mysql.com>2003-03-02 18:20:32 +0100
commitb331fe928c38666a7119aa62f7a8e3acbb4e330a (patch)
treeeb0da9678b0effb42639922c1e79e2289dac4ba9
parenta2cc82182bbebb24a75e2d54d5361b3932416b9c (diff)
downloadmariadb-git-b331fe928c38666a7119aa62f7a8e3acbb4e330a.tar.gz
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)
-rw-r--r--mysql-test/r/rpl_loaddatalocal.result14
-rw-r--r--mysql-test/t/rpl_loaddatalocal.test36
-rw-r--r--sql/mf_iocache.cc1
3 files changed, 50 insertions, 1 deletions
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);
}