From: <pa...@us...> - 2011-02-28 00:55:53
|
Revision: 5404 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5404&view=rev Author: patearl Date: 2011-02-28 00:55:46 +0000 (Mon, 28 Feb 2011) Log Message: ----------- Improved a test to prevent a deadlock on SQLite. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-02-27 12:39:03 UTC (rev 5403) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-02-28 00:55:46 UTC (rev 5404) @@ -705,7 +705,10 @@ originalCount = basicClass.StringBag.Count; ISession s = OpenSession(); - ITransaction t = s.BeginTransaction(); + // There used to be a transaction started on s and commited before the Close(). + // This transaction was removed since it was causing a deadlock with SQLite. + // This is a theoretical improvement as well, since the transaction could + // be in a mode that would prevent non-repeatable reads, hence breaking the test. ISession s2 = OpenSession(); ITransaction t2 = s2.BeginTransaction(); @@ -721,7 +724,6 @@ Assert.AreEqual(originalCount + 1, bc.StringBag.Count, "was refreshed correctly"); s.Delete(bc); - t.Commit(); s.Close(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2011-02-28 01:05:31
|
Revision: 5405 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5405&view=rev Author: patearl Date: 2011-02-28 01:05:25 +0000 (Mon, 28 Feb 2011) Log Message: ----------- Revert previous commit. Embarrassing. :( Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-02-28 00:55:46 UTC (rev 5404) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-02-28 01:05:25 UTC (rev 5405) @@ -705,10 +705,7 @@ originalCount = basicClass.StringBag.Count; ISession s = OpenSession(); - // There used to be a transaction started on s and commited before the Close(). - // This transaction was removed since it was causing a deadlock with SQLite. - // This is a theoretical improvement as well, since the transaction could - // be in a mode that would prevent non-repeatable reads, hence breaking the test. + ITransaction t = s.BeginTransaction(); ISession s2 = OpenSession(); ITransaction t2 = s2.BeginTransaction(); @@ -724,6 +721,7 @@ Assert.AreEqual(originalCount + 1, bc.StringBag.Count, "was refreshed correctly"); s.Delete(bc); + t.Commit(); s.Close(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pa...@us...> - 2011-02-28 05:14:37
|
Revision: 5406 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5406&view=rev Author: patearl Date: 2011-02-28 05:14:31 +0000 (Mon, 28 Feb 2011) Log Message: ----------- Improved a test to prevent a deadlock on SQLite. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-02-28 01:05:25 UTC (rev 5405) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-02-28 05:14:31 UTC (rev 5406) @@ -705,7 +705,10 @@ originalCount = basicClass.StringBag.Count; ISession s = OpenSession(); - ITransaction t = s.BeginTransaction(); + // There used to be a transaction started on s and commited before the Close(). + // This transaction was removed since it was causing a deadlock with SQLite. + // This is a theoretical improvement as well, since the transaction could + // be in a mode that would prevent non-repeatable reads, hence breaking the test. ISession s2 = OpenSession(); ITransaction t2 = s2.BeginTransaction(); @@ -721,7 +724,7 @@ Assert.AreEqual(originalCount + 1, bc.StringBag.Count, "was refreshed correctly"); s.Delete(bc); - t.Commit(); + s.Flush(); s.Close(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2011-05-31 15:51:28
|
Revision: 5898 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5898&view=rev Author: julian-maughan Date: 2011-05-31 15:51:16 +0000 (Tue, 31 May 2011) Log Message: ----------- Test for NH-2415 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-05-31 15:06:16 UTC (rev 5897) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-05-31 15:51:16 UTC (rev 5898) @@ -33,8 +33,8 @@ using (ITransaction tx = s.BeginTransaction()) { BasicClass bc = new BasicClass(); - if (!TestDialect.SupportsNullCharactersInUtfStrings) - bc.CharacterProperty = 'a'; + if (!TestDialect.SupportsNullCharactersInUtfStrings) + bc.CharacterProperty = 'a'; bc.Id = 1; bc.ValueOfPrivateField = 5; s.Save(bc); @@ -50,7 +50,7 @@ tx.Commit(); } } - + [Test] public void Caching() { @@ -58,8 +58,8 @@ using (ITransaction tx = s.BeginTransaction()) { BasicClass bc = new BasicClass(); - if (!TestDialect.SupportsNullCharactersInUtfStrings) - bc.CharacterProperty = 'a'; + if (!TestDialect.SupportsNullCharactersInUtfStrings) + bc.CharacterProperty = 'a'; bc.Id = 1; s.Save(bc); tx.Commit(); @@ -320,7 +320,7 @@ index++; - // VERIFY PREVIOUS UPDATE & PERFORM DELETE + // VERIFY PREVIOUS UPDATE & PERFORM DELETE s[index] = OpenSession(); t[index] = s[index].BeginTransaction(); @@ -385,7 +385,7 @@ index++; - // VERIFY PREVIOUS UPDATE & PERFORM DELETE + // VERIFY PREVIOUS UPDATE & PERFORM DELETE s[index] = OpenSession(); t[index] = s[index].BeginTransaction(); @@ -404,7 +404,6 @@ AssertDelete(id); } - [Test] public void TestPrimitiveArrayCRUD() { @@ -456,7 +455,7 @@ index++; - // VERIFY PREVIOUS UPDATE & PERFORM DELETE + // VERIFY PREVIOUS UPDATE & PERFORM DELETE s[index] = OpenSession(); t[index] = s[index].BeginTransaction(); @@ -526,7 +525,7 @@ index++; - // VERIFY PREVIOUS UPDATE & PERFORM DELETE + // VERIFY PREVIOUS UPDATE & PERFORM DELETE s[index] = OpenSession(); t[index] = s[index].BeginTransaction(); @@ -595,7 +594,7 @@ index++; - // VERIFY PREVIOUS UPDATE & PERFORM DELETE + // VERIFY PREVIOUS UPDATE & PERFORM DELETE s[index] = OpenSession(); t[index] = s[index].BeginTransaction(); @@ -680,7 +679,7 @@ index++; - // VERIFY PREVIOUS UPDATE & PERFORM DELETE + // VERIFY PREVIOUS UPDATE & PERFORM DELETE s[index] = OpenSession(); t[index] = s[index].BeginTransaction(); @@ -798,7 +797,7 @@ index++; - // VERIFY PREVIOUS UPDATE & PERFORM DELETE + // VERIFY PREVIOUS UPDATE & PERFORM DELETE s[index] = OpenSession(); t[index] = s[index].BeginTransaction(); @@ -823,8 +822,8 @@ ISession s = OpenSession(); ITransaction t = s.BeginTransaction(); BasicClass bc = new BasicClass(); - if (!TestDialect.SupportsNullCharactersInUtfStrings) - bc.CharacterProperty = 'a'; + if (!TestDialect.SupportsNullCharactersInUtfStrings) + bc.CharacterProperty = 'a'; int id = 1; @@ -904,6 +903,29 @@ trans.Commit(); } } + + /// <summary> + /// Test for NH-2415 + /// </summary> + [Test] + public void TestHqlParameterizedDictionaryLookupProducesCorrectSqlParameterOrder() + { + var bc = InsertBasicClass(1); + + using (var session = OpenSession()) + using (var trans = session.BeginTransaction()) + { + var hql = "from BasicClass bc where (bc.StringProperty = :prop) and (bc.StringMap[:key] = :value)"; + bc = session.CreateQuery(hql) + .SetParameter("prop", "string property") + .SetParameter("key", "keyZero") + .SetParameter("value", "string zero") + .UniqueResult<BasicClass>(); + Assert.NotNull(bc); + session.Delete(bc); + trans.Commit(); + } + } internal void AssertDelete(int id) { @@ -944,7 +966,6 @@ return bc; } - /// <summary> /// Compares the non Collection Properties of the BasicClass /// </summary> @@ -963,6 +984,7 @@ /// </summary> /// <param name="expected">The expected values.</param> /// <param name="actual">The Actual values.</param> + /// <param name="includeCollections"></param> internal void AssertPropertiesEqual(BasicClass expected, BasicClass actual, bool includeCollections) { Assert.AreEqual(expected.Id, actual.Id, "Id"); @@ -990,7 +1012,6 @@ } } - private void InitializeBasicClass(int id, ref BasicClass basicClass) { basicClass.Id = id; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |