List:Commits« Previous MessageNext Message »
From:Chad MILLER Date:March 29 2006 12:15am
Subject:bk commit into 5.0 tree (cmiller:1.2099) BUG#11151
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of cmiller. When cmiller does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2099 06/03/28 17:15:45 cmiller@zippy.(none) +3 -0
  Bug#11151: LOAD DATA INFILE commits transaction in 5.0
  
  No longer create or commit transactions within the loading of files.

  sql/sql_load.cc
    1.92 06/03/28 17:15:41 cmiller@zippy.(none) +1 -6
    Loading data from a table should neither create new transactions nor destroy
    (by committing or rolling-back) existing transactions.

  mysql-test/t/loaddata.test
    1.17 06/03/28 17:15:41 cmiller@zippy.(none) +22 -0
    Add test case.

  mysql-test/r/loaddata.result
    1.22 06/03/28 17:15:41 cmiller@zippy.(none) +15 -0
    Add test result.

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	cmiller
# Host:	zippy.(none)
# Root:	/home/cmiller/work/mysql/mysql-5.0__bug11151

--- 1.91/sql/sql_load.cc	2006-02-06 18:06:16 -05:00
+++ 1.92/sql/sql_load.cc	2006-03-28 17:15:41 -05:00
@@ -381,7 +381,7 @@
     table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
     table->next_number_field=0;
   }
-  ha_enable_transaction(thd, TRUE);
+
   if (file >= 0)
     my_close(file,MYF(0));
   free_blobs(table);				/* if pack_blob was used */
@@ -396,9 +396,6 @@
 
   if (error)
   {
-    if (transactional_table)
-      ha_autocommit_or_rollback(thd,error);
-
     if (read_file_from_client)
       while (!read_info.next_line())
 	;
@@ -465,8 +462,6 @@
 					 ignore, transactional_table);
   }
 #endif /*!EMBEDDED_LIBRARY*/
-  if (transactional_table)
-    error=ha_autocommit_or_rollback(thd,error);
 
 err:
   if (thd->lock)

--- 1.21/mysql-test/r/loaddata.result	2006-01-24 02:30:46 -05:00
+++ 1.22/mysql-test/r/loaddata.result	2006-03-28 17:15:41 -05:00
@@ -139,3 +139,18 @@
 10	NULL	Ten
 15	NULL	Fifteen
 drop table t1, t2;
+create table bug11151 (a int, b int) engine=InnoDB;
+start transaction;
+insert into bug11151 values (0, 0);
+rollback;
+select a, b from bug11151;
+a	b
+delete from bug11151;
+start transaction;
+insert into bug11151 values (42, 0);
+load data infile '../std_data_ln/loaddata5.dat' into table bug11151 fields terminated by
'' enclosed by '' (a, b);
+insert into bug11151 values (42, 99);
+rollback;
+select a, b from bug11151;
+a	b
+drop table bug11151;

--- 1.16/mysql-test/t/loaddata.test	2006-01-24 02:30:47 -05:00
+++ 1.17/mysql-test/t/loaddata.test	2006-03-28 17:15:41 -05:00
@@ -113,4 +113,26 @@
 # cleanup
 drop table t1, t2;
 
+
+
+#
+# Bug#11151:  LOAD DATA INFILE commits transaction in 5.0
+#
+create table bug11151 (a int, b int) engine=InnoDB;
+
+start transaction;
+insert into bug11151 values (0, 0);
+rollback;
+select a, b from bug11151;
+delete from bug11151;
+
+start transaction;
+insert into bug11151 values (42, 0);
+load data infile '../std_data_ln/loaddata5.dat' into table bug11151 fields terminated by
'' enclosed by '' (a, b);
+insert into bug11151 values (42, 99);
+rollback;
+select a, b from bug11151;
+
+drop table bug11151;
+
 # End of 5.0 tests
Thread
bk commit into 5.0 tree (cmiller:1.2099) BUG#11151Chad MILLER29 Mar