From: <pa...@us...> - 2011-03-06 06:54:02
|
Revision: 5434 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5434&view=rev Author: patearl Date: 2011-03-06 06:53:56 +0000 (Sun, 06 Mar 2011) Log Message: ----------- Handle databases with unsupported "All" operator in criteria query tests. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/Criteria/CriteriaQueryTest.cs Modified: trunk/nhibernate/src/NHibernate.Test/Criteria/CriteriaQueryTest.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Criteria/CriteriaQueryTest.cs 2011-03-06 06:52:05 UTC (rev 5433) +++ trunk/nhibernate/src/NHibernate.Test/Criteria/CriteriaQueryTest.cs 2011-03-06 06:53:56 UTC (rev 5434) @@ -121,7 +121,7 @@ .SetProjection(Property.ForName("Name")); session.CreateCriteria(typeof(Student)) - .Add(Subqueries.PropertyEqAll("Name", dc)) + .Add(Subqueries.PropertyEq("Name", dc)) .List(); } } @@ -183,17 +183,23 @@ .Add(Property.ForName("StudentNumber").Eq(232L)) .SetProjection(Property.ForName("Name")); - session.CreateCriteria(typeof(Student)) - .Add(Subqueries.PropertyEqAll("Name", dc)) - .List(); + if (TestDialect.SupportsOperatorAll) + { + session.CreateCriteria(typeof (Student)) + .Add(Subqueries.PropertyEqAll("Name", dc)) + .List(); + } session.CreateCriteria(typeof(Student)) .Add(Subqueries.Exists(dc)) .List(); - session.CreateCriteria(typeof(Student)) - .Add(Property.ForName("Name").EqAll(dc)) - .List(); + if (TestDialect.SupportsOperatorAll) + { + session.CreateCriteria(typeof (Student)) + .Add(Property.ForName("Name").EqAll(dc)) + .List(); + } session.CreateCriteria(typeof(Student)) .Add(Subqueries.In("Gavin King", dc)) @@ -284,46 +290,52 @@ t.Commit(); } - - using (ISession session = OpenSession()) - using (ITransaction t = session.BeginTransaction()) + + if (TestDialect.SupportsOperatorAll) { - try + using (ISession session = OpenSession()) + using (ITransaction t = session.BeginTransaction()) { - session.CreateCriteria<Student>() - .Add(Subqueries.PropertyEqAll("CityState", dc)) - .List(); - - Assert.Fail("should have failed because cannot compare subquery results with multiple columns"); + try + { + session.CreateCriteria<Student>() + .Add(Subqueries.PropertyEqAll("CityState", dc)) + .List(); + + Assert.Fail("should have failed because cannot compare subquery results with multiple columns"); + } + catch (QueryException ex) + { + // expected + } + t.Rollback(); } - catch (QueryException ex) - { - // expected - } - t.Rollback(); } - - using (ISession session = OpenSession()) - using (ITransaction t = session.BeginTransaction()) + + if (TestDialect.SupportsOperatorAll) { - try + using (ISession session = OpenSession()) + using (ITransaction t = session.BeginTransaction()) { - session.CreateCriteria<Student>() - .Add(Property.ForName("CityState").EqAll(dc)) - .List(); - - Assert.Fail("should have failed because cannot compare subquery results with multiple columns"); + try + { + session.CreateCriteria<Student>() + .Add(Property.ForName("CityState").EqAll(dc)) + .List(); + + Assert.Fail("should have failed because cannot compare subquery results with multiple columns"); + } + catch (QueryException ex) + { + // expected + } + finally + { + t.Rollback(); + } } - catch (QueryException ex) - { - // expected - } - finally - { - t.Rollback(); - } } - + using (ISession session = OpenSession()) using (ITransaction t = session.BeginTransaction()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |