Skip to content

Commit 501ed87

Browse files
committed
Refactoring
1 parent dc201c1 commit 501ed87

File tree

3 files changed

+8
-14
lines changed

3 files changed

+8
-14
lines changed

src/NHibernate/Linq/GroupBy/NonAggregatingGroupByRewriter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public static void ReWrite(QueryModel queryModel)
2222
for (var index = 0; index < queryModel.ResultOperators.Count; index++)
2323
{
2424
var r = (GroupResultOperator) queryModel.ResultOperators[index];
25-
queryModel.ResultOperators[index] = new NonAggregatingGroupBy(r, source);
25+
queryModel.ResultOperators[index] = new NonAggregatingGroupBy(r);
2626
source = new QuerySourceReferenceExpression(r);
2727
}
2828

@@ -62,7 +62,7 @@ private static void FlattenSubQuery(SubQueryExpression subQueryExpression, Query
6262
throw new NotImplementedException();
6363
}
6464

65-
queryModel.ResultOperators.Add(new NonAggregatingGroupBy((GroupResultOperator) subQueryModel.ResultOperators[0], queryModel.SelectClause.Selector));
65+
queryModel.ResultOperators.Add(new NonAggregatingGroupBy((GroupResultOperator) subQueryModel.ResultOperators[0]));
6666
queryModel.ResultOperators.Add(clientSideSelect);
6767
}
6868

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
1-
using System;
2-
using System.Linq.Expressions;
31
using Remotion.Linq.Clauses.ResultOperators;
2+
using Remotion.Linq.Clauses.StreamedData;
43

54
namespace NHibernate.Linq.ResultOperators
65
{
76
public class NonAggregatingGroupBy : ClientSideTransformOperator
87
{
9-
//Since v5.4
10-
[Obsolete("Please use another constructor")]
11-
public NonAggregatingGroupBy(GroupResultOperator groupBy) : this(groupBy, null)
12-
{
13-
}
14-
15-
public NonAggregatingGroupBy(GroupResultOperator groupBy, Expression source)
8+
public NonAggregatingGroupBy(GroupResultOperator groupBy)
169
{
1710
GroupBy = groupBy;
18-
Source = source;
1911
}
2012

2113
public GroupResultOperator GroupBy { get; }
2214

23-
public Expression Source { get; }
15+
public override IStreamedDataInfo GetOutputDataInfo(IStreamedDataInfo inputInfo) =>
16+
GroupBy.GetOutputDataInfo(inputInfo);
2417
}
2518
}

src/NHibernate/Linq/Visitors/ResultOperatorProcessors/ProcessNonAggregatingGroupBy.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
using NHibernate.Linq.ResultOperators;
55
using NHibernate.Util;
66
using Remotion.Linq.Clauses.ExpressionVisitors;
7+
using Remotion.Linq.Clauses.StreamedData;
78

89
namespace NHibernate.Linq.Visitors.ResultOperatorProcessors
910
{
1011
public class ProcessNonAggregatingGroupBy : IResultOperatorProcessor<NonAggregatingGroupBy>
1112
{
1213
public void Process(NonAggregatingGroupBy resultOperator, QueryModelVisitor queryModelVisitor, IntermediateHqlTree tree)
1314
{
14-
var selector = resultOperator.Source;
15+
var selector = ((StreamedSequenceInfo) queryModelVisitor.PreviousEvaluationType).ItemExpression;
1516
var keySelector = resultOperator.GroupBy.KeySelector;
1617
var elementSelector = resultOperator.GroupBy.ElementSelector;
1718

0 commit comments

Comments
 (0)