|
From: <te...@us...> - 2009-01-05 00:13:17
|
Revision: 3975
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3975&view=rev
Author: tehlike
Date: 2009-01-05 00:13:13 +0000 (Mon, 05 Jan 2009)
Log Message:
-----------
Fix for NH-1575 by Ryan Scott
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/SqlCommand/SqlString.cs
trunk/nhibernate/src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs
Modified: trunk/nhibernate/src/NHibernate/SqlCommand/SqlString.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/SqlCommand/SqlString.cs 2009-01-03 17:26:30 UTC (rev 3974)
+++ trunk/nhibernate/src/NHibernate/SqlCommand/SqlString.cs 2009-01-05 00:13:13 UTC (rev 3975)
@@ -24,7 +24,11 @@
private readonly object[] sqlParts;
public static readonly SqlString Empty = new SqlString(new object[0]);
- public static readonly SqlString Parameter = new SqlString(SqlCommand.Parameter.Placeholder);
+
+ public static SqlString Parameter
+ {
+ get { return new SqlString(SqlCommand.Parameter.Placeholder); }
+ }
public SqlString(string sqlPart)
{
Modified: trunk/nhibernate/src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs 2009-01-03 17:26:30 UTC (rev 3974)
+++ trunk/nhibernate/src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs 2009-01-05 00:13:13 UTC (rev 3975)
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using NHibernate.SqlCommand;
using NUnit.Framework;
@@ -359,5 +360,23 @@
Assert.AreEqual(" from table where (col = test) and id in (select id from foo order by bar)", sql.GetSubselectString().ToString());
}
+ [Test]
+ public void ParameterPropertyShouldReturnNewInstances()
+ {
+ Parameter[] parameters1 = new Parameter[1];
+ Parameter[] parameters2 = new Parameter[1];
+
+ SqlString parameterString1 = SqlString.Parameter;
+ parameterString1.Parts.CopyTo(parameters1, 0);
+
+ SqlString parameterString2 = SqlString.Parameter;
+ parameterString2.Parts.CopyTo(parameters2, 0);
+
+ Assert.AreEqual(parameterString1, parameterString2);
+ Assert.AreNotSame(parameterString1, parameterString2);
+
+ parameters1[0].OriginalPositionInQuery = 231;
+ Assert.IsNull(parameters2[0].OriginalPositionInQuery);
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|