Skip to content

Commit e2b3ab3

Browse files
committed
Merge branch 'NH-2088' into AsyncGenerator
2 parents 66a2bf9 + 704ad04 commit e2b3ab3

File tree

1 file changed

+21
-41
lines changed

1 file changed

+21
-41
lines changed

src/NHibernate/Engine/Query/HQLQueryPlan.cs

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,26 @@ public void PerformList(QueryParameters queryParameters, ISessionImplementor ses
152152

153153
public IEnumerable PerformIterate(QueryParameters queryParameters, IEventSource session)
154154
{
155-
bool? many;
156-
IEnumerable[] results;
157-
IEnumerable result;
158-
159-
DoIterate(queryParameters, session, out many, out results, out result);
160-
161-
return (many.HasValue && many.Value) ? new JoinedEnumerable(results) : result;
155+
if (Log.IsDebugEnabled)
156+
{
157+
Log.Debug("enumerable: " + _sourceQuery);
158+
queryParameters.LogParameters(session.Factory);
159+
}
160+
if (Translators.Length == 0)
161+
{
162+
return CollectionHelper.EmptyEnumerable;
163+
}
164+
if (Translators.Length == 1)
165+
{
166+
return Translators[0].GetEnumerable(queryParameters, session);
167+
}
168+
var results = new IEnumerable[Translators.Length];
169+
for (int i = 0; i < Translators.Length; i++)
170+
{
171+
var result = Translators[i].GetEnumerable(queryParameters, session);
172+
results[i] = result;
173+
}
174+
return new JoinedEnumerable(results);
162175
}
163176

164177
public IEnumerable<T> PerformIterate<T>(QueryParameters queryParameters, IEventSource session)
@@ -185,40 +198,7 @@ public int PerformExecuteUpdate(QueryParameters queryParameters, ISessionImpleme
185198
return result;
186199
}
187200

188-
void DoIterate(QueryParameters queryParameters, IEventSource session, out bool? isMany, out IEnumerable[] results, out IEnumerable result)
189-
{
190-
isMany = null;
191-
results = null;
192-
if (Log.IsDebugEnabled)
193-
{
194-
Log.Debug("enumerable: " + _sourceQuery);
195-
queryParameters.LogParameters(session.Factory);
196-
}
197-
if (Translators.Length == 0)
198-
{
199-
result = CollectionHelper.EmptyEnumerable;
200-
}
201-
else
202-
{
203-
results = null;
204-
bool many = Translators.Length > 1;
205-
if (many)
206-
{
207-
results = new IEnumerable[Translators.Length];
208-
}
209-
210-
result = null;
211-
for (int i = 0; i < Translators.Length; i++)
212-
{
213-
result = Translators[i].GetEnumerable(queryParameters, session);
214-
if (many)
215-
results[i] = result;
216-
}
217-
isMany = many;
218-
}
219-
}
220-
221-
void FinaliseQueryPlan()
201+
void FinaliseQueryPlan()
222202
{
223203
BuildSqlStringsAndQuerySpaces();
224204
BuildMetaData();

0 commit comments

Comments
 (0)