|
From: <fab...@us...> - 2010-07-22 15:39:57
|
Revision: 5044
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5044&view=rev
Author: fabiomaulo
Date: 2010-07-22 15:39:51 +0000 (Thu, 22 Jul 2010)
Log Message:
-----------
Fix NH-2219
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs
trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs
Modified: trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs 2010-07-22 14:21:58 UTC (rev 5043)
+++ trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs 2010-07-22 15:39:51 UTC (rev 5044)
@@ -123,14 +123,8 @@
public SqlUpdateBuilder AppendAssignmentFragment(SqlString fragment)
{
- if (assignments == null)
- {
- assignments = fragment;
- }
- else
- {
- assignments.Append(", ").Append(fragment);
- }
+ // SqlString is immutable
+ assignments = assignments == null ? fragment : assignments.Append(", ").Append(fragment);
return this;
}
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs 2010-07-22 14:21:58 UTC (rev 5043)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs 2010-07-22 15:39:51 UTC (rev 5044)
@@ -6,6 +6,7 @@
using NHibernate.Id;
using NHibernate.Persister.Entity;
using NUnit.Framework;
+using SharpTestsEx;
namespace NHibernate.Test.HQL.Ast
{
@@ -609,6 +610,37 @@
}
[Test]
+ public void UpdateMultiplePropertyOnAnimal()
+ {
+ var data = new TestData(this);
+ data.Prepare();
+
+ using (ISession s = OpenSession())
+ using (ITransaction t = s.BeginTransaction())
+ {
+ int count =
+ s.CreateQuery("update Animal set description = :newDesc, bodyWeight = :w1 where description = :desc")
+ .SetString("desc", data.Polliwog.Description)
+ .SetString("newDesc", "Tadpole")
+ .SetDouble("w1", 3)
+ .ExecuteUpdate();
+
+ count.Should().Be(1);
+ t.Commit();
+ }
+
+ using (ISession s = OpenSession())
+ using (s.BeginTransaction())
+ {
+ var tadpole = s.Get<Animal>(data.Polliwog.Id);
+ tadpole.Description.Should().Be("Tadpole");
+ tadpole.BodyWeight.Should().Be(3);
+ }
+
+ data.Cleanup();
+ }
+
+ [Test]
public void UpdateOnMammal()
{
var data = new TestData(this);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|