From: <ric...@us...> - 2010-10-12 21:27:07
|
Revision: 5249 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5249&view=rev Author: ricbrown Date: 2010-10-12 21:27:00 +0000 (Tue, 12 Oct 2010) Log Message: ----------- Fix NH-2371 (Exception is thrown when using SetMaxResults on query using MySQL) Fixes MySql tests (broken in r5118): NHibernate.Test.Criteria.Lambda.IntegrationFixture.MultiCriteria NHibernate.Test.Criteria.Lambda.IntegrationFixture.RowCount NHibernate.Test.Legacy.FooBarTest.FindByCriteria NHibernate.Test.Legacy.FooBarTest.Limit NHibernate.Test.Legacy.FooBarTest.PSCache NHibernate.Test.Legacy.FooBarTest.Query NHibernate.Test.Legacy.SQLFunctionsTest.SQLFunctions NHibernate.Test.NHSpecificTest.Futures.FutureCriteriaFixture.CanCombineSingleFutureValueWithEnumerableFutures NHibernate.Test.NHSpecificTest.Futures.FutureCriteriaFixture.CanUseFutureCriteria NHibernate.Test.NHSpecificTest.Futures.FutureCriteriaFixture.TwoFuturesRunInTwoRoundTrips NHibernate.Test.NHSpecificTest.Futures.FutureQueryFixture.CanCombineSingleFutureValueWithEnumerableFutures NHibernate.Test.NHSpecificTest.Futures.FutureQueryFixture.CanUseFutureQuery NHibernate.Test.NHSpecificTest.Futures.FutureQueryFixture.TwoFuturesRunInTwoRoundTrips NHibernate.Test.NHSpecificTest.Futures.FutureQueryOverFixture.CanCombineSingleFutureValueWithEnumerableFutures NHibernate.Test.NHSpecificTest.Futures.FutureQueryOverFixture.CanUseFutureCriteria NHibernate.Test.NHSpecificTest.Futures.FutureQueryOverFixture.TwoFuturesRunInTwoRoundTrips NHibernate.Test.NHSpecificTest.Futures.LinqFutureFixture.CanCombineSingleFutureValueWithEnumerableFutures NHibernate.Test.NHSpecificTest.Futures.LinqFutureFixture.CanUseFutureQuery NHibernate.Test.NHSpecificTest.Futures.LinqFutureFixture.TwoFuturesRunInTwoRoundTrips NHibernate.Test.NHSpecificTest.NH1349.Fixture.Can_page_with_formula_property NHibernate.Test.NHSpecificTest.NH1359.Fixture.CanOrderByNamedSubquery NHibernate.Test.NHSpecificTest.NH1359.Fixture.CanPageAndSortResultsWithParametersAndFilters NHibernate.Test.NHSpecificTest.NH1359.Fixture.CanPageAndSortWithMultipleColumnsOfSameName NHibernate.Test.NHSpecificTest.NH1408.DetachedSubCriteriaTest.Test NHibernate.Test.NHSpecificTest.NH1413.PagingTest.Bug NHibernate.Test.NHSpecificTest.NH1533.Fixture.Can_query_using_two_orderby_and_limit_altogether NHibernate.Test.NHSpecificTest.NH1533.Fixture.Can_query_using_two_orderby_and_limit_with_maxresult_only NHibernate.Test.NHSpecificTest.NH1609.Fixture.Test NHibernate.Test.NHSpecificTest.NH1675.Fixture.ShouldWorkUsingDistinctAndLimits NHibernate.Test.NHSpecificTest.NH2344.Fixture.CoalesceShouldWork NHibernate.Test.NHSpecificTest.NH734.Fixture.LimitProblem NHibernate.Test.Pagination.PaginationFixture.PagingWithLock_NH2255 NHibernate.Test.Pagination.PaginationFixture.PagTest NHibernate.Test.ProjectionFixtures.Fixture.LimitingResultSetOnQueryThatIsOrderedByProjection NHibernate.Test.ProjectionFixtures.Fixture.QueryingWithParemetersAndParaemtersInOrderBy NHibernate.Test.QueryTest.DetachedQueryFixture.ExecutableQuery NHibernate.Test.SubselectFetchTest.SubselectFetchFixture.SubselectFetchWithLimit Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Dialect/MySQL5Dialect.cs trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs Modified: trunk/nhibernate/src/NHibernate/Dialect/MySQL5Dialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Dialect/MySQL5Dialect.cs 2010-10-12 19:12:23 UTC (rev 5248) +++ trunk/nhibernate/src/NHibernate/Dialect/MySQL5Dialect.cs 2010-10-12 21:27:00 UTC (rev 5249) @@ -31,15 +31,6 @@ //default: //http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html - public override bool SupportsVariableLimit - { - get - { - //note: why false? - return false; - } - } - public override bool SupportsSubSelects { get Modified: trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs 2010-10-12 19:12:23 UTC (rev 5248) +++ trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs 2010-10-12 21:27:00 UTC (rev 5249) @@ -194,13 +194,15 @@ var pagingBuilder = new SqlStringBuilder(); pagingBuilder.Add(querySqlString); pagingBuilder.Add(" limit "); - pagingBuilder.Add(Parameter.WithIndex(limitParameterIndex.Value)); if (offset > 0) { + pagingBuilder.Add(Parameter.WithIndex(offsetParameterIndex.Value)); pagingBuilder.Add(", "); - pagingBuilder.Add(Parameter.WithIndex(offsetParameterIndex.Value)); } + + pagingBuilder.Add(Parameter.WithIndex(limitParameterIndex.Value)); + return pagingBuilder.ToSqlString(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |