Skip to content

Commit 32e098a

Browse files
committed
Fixing NH-1145 - Multi criteria doesn't support paging on dialects. Patch by Adam Tybor.
SVN: trunk@3004
1 parent 56ba0ac commit 32e098a

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/NHibernate/Impl/MultiCriteriaImpl.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,11 +186,13 @@ private void GetResultsFromDatabase(ArrayList results)
186186
RowSelection selection = parameters[i].RowSelection;
187187
createSubselects[i] = loader.IsSubselectLoadingEnabled;
188188
subselectResultKeys[i] = createSubselects[i] ? new ArrayList() : null;
189+
int maxRows = Loader.Loader.HasMaxRows(selection) ? selection.MaxRows : int.MaxValue;
189190
if (!dialect.SupportsLimitOffset || !NHibernate.Loader.Loader.UseLimit(selection, dialect))
190191
{
191192
loader.Advance(reader, selection);
192193
}
193-
while (reader.Read())
194+
int count;
195+
for (count = 0; count < maxRows && reader.Read(); count++)
194196
{
195197
object o =
196198
loader.GetRowFromResultSet(reader, session, queryParameters, loader.GetLockModes(queryParameters.LockModes),
@@ -357,4 +359,4 @@ private QueryParameters CreateCombinedQueryParameters()
357359
return combinedQueryParameters;
358360
}
359361
}
360-
}
362+
}

0 commit comments

Comments
 (0)