#At file:///C:/Users/Reggie/work/connector-net/trunk/ based on revid:reggie.burnett@stripped
959 Reggie Burnett 2011-03-09 [merge]
merged
modified:
MySql.Data/Provider/Source/command.cs
MySql.Data/Tests/Source/CommandTests.cs
=== modified file 'MySql.Data/Provider/Source/command.cs'
=== modified file 'MySql.Data/Provider/Source/command.cs'
--- a/MySql.Data/Provider/Source/command.cs 2011-02-14 17:19:36 +0000
+++ b/MySql.Data/Provider/Source/command.cs 2011-03-09 18:20:04 +0000
@@ -860,6 +860,8 @@
token = tokenizer.NextToken();
}
}
+ // Otherwise use the command verbatim
+ else batchableCommandText = CommandText;
}
return batchableCommandText;
=== modified file 'MySql.Data/Tests/Source/CommandTests.cs'
--- a/MySql.Data/Tests/Source/CommandTests.cs 2011-03-03 18:02:14 +0000
+++ b/MySql.Data/Tests/Source/CommandTests.cs 2011-03-09 18:20:04 +0000
@@ -25,6 +25,7 @@
using MySql.Data.MySqlClient;
using NUnit.Framework;
using System.Threading;
+using System.Diagnostics;
namespace MySql.Data.MySqlClient.Tests
{
@@ -512,7 +513,42 @@
catch (MySqlException)
{
}
-
+ }
+
+ /// <summary>
+ /// Bug #59616 Only INSERTs are batched
+ /// </summary>
+ [Test]
+ public void BatchUpdatesAndDeletes()
+ {
+ execSQL("CREATE TABLE test (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20))");
+ execSQL("INSERT INTO test VALUES (1, 'boo'), (2, 'boo'), (3, 'boo')");
+
+ MySqlTrace.Listeners.Clear();
+ MySqlTrace.Switch.Level = SourceLevels.All;
+ GenericListener listener = new GenericListener();
+ MySqlTrace.Listeners.Add(listener);
+
+ string connStr = GetConnectionString(true) + ";logging=true;allow batch=true";
+ using (MySqlConnection c = new MySqlConnection(connStr))
+ {
+ c.Open();
+ MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM test", c);
+ MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
+ da.UpdateCommand = cb.GetUpdateCommand();
+ da.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
+ da.UpdateBatchSize = 100;
+
+ DataTable dt = new DataTable();
+ da.Fill(dt);
+
+ dt.Rows[0]["name"] = "boo2";
+ dt.Rows[1]["name"] = "boo2";
+ dt.Rows[2]["name"] = "boo2";
+ da.Update(dt);
+ }
+
+ Assert.AreEqual(1, listener.Find("Query Opened: UPDATE"));
}
}
No bundle (reason: revision is a merge (you can force generation of a bundle with env var BZR_FORCE_BUNDLE=1)).
| Thread |
|---|
| • bzr commit into connector-net-trunk branch (reggie.burnett:959) | Reggie Burnett | 9 Mar |