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. |