Skip to content

Commit 241e090

Browse files
committed
Fix NH-3666: Add missing override for IncludeInResultRow property in CustomLoader class.
1 parent 2393685 commit 241e090

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/NHibernate/Loader/Custom/CustomLoader.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ public class CustomLoader : Loader
3838
private readonly LockMode[] lockModes;
3939
private readonly ResultRowProcessor rowProcessor;
4040

41+
private readonly bool[] includeInResultRow;
42+
4143
private IType[] resultTypes;
4244
private string[] transformerAliases;
4345

@@ -61,6 +63,8 @@ public CustomLoader(ICustomQuery customQuery, ISessionFactoryImplementor factory
6163
List<IType> resulttypes = new List<IType>();
6264
List<string> specifiedAliases = new List<string>();
6365

66+
List<bool> includeInResultRowList = new List<bool>();
67+
6468
int returnableCounter = 0;
6569
bool hasScalars = false;
6670

@@ -72,6 +76,7 @@ public CustomLoader(ICustomQuery customQuery, ISessionFactoryImplementor factory
7276
resulttypes.Add(scalarRtn.Type);
7377
specifiedAliases.Add(scalarRtn.ColumnAlias);
7478
resultColumnProcessors.Add(new ScalarResultColumnProcessor(scalarRtn.ColumnAlias, scalarRtn.Type));
79+
includeInResultRowList.Add(true);
7580
hasScalars = true;
7681
}
7782
else if (rtn is RootReturn)
@@ -87,6 +92,7 @@ public CustomLoader(ICustomQuery customQuery, ISessionFactoryImplementor factory
8792
specifiedAliases.Add(rootRtn.Alias);
8893
entityaliases.Add(rootRtn.EntityAliases);
8994
querySpaces.UnionWith(persister.QuerySpaces);
95+
includeInResultRowList.Add(true);
9096
}
9197
else if (rtn is CollectionReturn)
9298
{
@@ -111,6 +117,7 @@ public CustomLoader(ICustomQuery customQuery, ISessionFactoryImplementor factory
111117
entityaliases.Add(collRtn.ElementEntityAliases);
112118
querySpaces.UnionWith(elementPersister.QuerySpaces);
113119
}
120+
includeInResultRowList.Add(true);
114121
}
115122
else if (rtn is EntityFetchReturn)
116123
{
@@ -128,6 +135,7 @@ public CustomLoader(ICustomQuery customQuery, ISessionFactoryImplementor factory
128135
specifiedAliases.Add(fetchRtn.Alias);
129136
entityaliases.Add(fetchRtn.EntityAliases);
130137
querySpaces.UnionWith(persister.QuerySpaces);
138+
includeInResultRowList.Add(false);
131139
}
132140
else if (rtn is CollectionFetchReturn)
133141
{
@@ -153,6 +161,7 @@ public CustomLoader(ICustomQuery customQuery, ISessionFactoryImplementor factory
153161
entityaliases.Add(fetchRtn.ElementEntityAliases);
154162
querySpaces.UnionWith(elementPersister.QuerySpaces);
155163
}
164+
includeInResultRowList.Add(false);
156165
}
157166
else
158167
{
@@ -170,6 +179,7 @@ public CustomLoader(ICustomQuery customQuery, ISessionFactoryImplementor factory
170179
resultTypes = resulttypes.ToArray();
171180
transformerAliases = specifiedAliases.ToArray();
172181
rowProcessor = new ResultRowProcessor(hasScalars, resultColumnProcessors.ToArray());
182+
includeInResultRow = includeInResultRowList.ToArray();
173183
}
174184

175185
public ISet<string> QuerySpaces
@@ -289,6 +299,11 @@ protected override IResultTransformer ResolveResultTransformer(IResultTransforme
289299
return HolderInstantiator.ResolveResultTransformer(null, resultTransformer);
290300
}
291301

302+
protected override bool[] IncludeInResultRow
303+
{
304+
get { return includeInResultRow; }
305+
}
306+
292307
public override IList GetResultList(IList results, IResultTransformer resultTransformer)
293308
{
294309
// meant to handle dynamic instantiation queries...(Copy from QueryLoader)

0 commit comments

Comments
 (0)