Skip to content

Commit 1be92d8

Browse files
fixup! Implement multiple get and put for query cache and query batch
Use a default parameter value for minimizing changes, and upgrade AsyncGenerator for supporting it.
1 parent 2329b7a commit 1be92d8

File tree

10 files changed

+19
-21
lines changed

10 files changed

+19
-21
lines changed

Tools/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<package id="NUnit.Extension.NUnitV2ResultWriter" version="3.6.0" targetFramework="net461" />
88
<package id="NUnit.Extension.TeamCityEventListener" version="1.0.2" targetFramework="net461" />
99
<package id="NUnit.Extension.VSProjectLoader" version="3.6.0" targetFramework="net461" />
10-
<package id="CSharpAsyncGenerator.CommandLine" version="0.8.2.7" targetFramework="net461" />
10+
<package id="CSharpAsyncGenerator.CommandLine" version="0.8.2.9" targetFramework="net461" />
1111
<package id="vswhere" version="2.1.4" targetFramework="net461" />
1212
<package id="gitreleasemanager" version="0.7.0" targetFramework="net461" />
1313
</packages>

src/AsyncGenerator.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,12 @@
9898
- conversion: Ignore
9999
name: QuoteTableAndColumns
100100
containingTypeName: SchemaMetadataUpdater
101+
- conversion: Ignore
102+
name: GetEnumerator
103+
containingTypeName: DelayedEnumerator
104+
- conversion: Ignore
105+
name: GetEnumerator
106+
containingTypeName: IFutureEnumerable
101107
- conversion: ToAsync
102108
name: ExecuteReader
103109
containingTypeName: IBatcher

src/NHibernate.Test/Async/TransformTests/AliasToBeanResultTransformerFixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ public async Task SerializationAsync()
304304
var transformer = Transformers.AliasToBean<T>();
305305
var bytes = SerializationHelper.Serialize(transformer);
306306
transformer = (IResultTransformer)SerializationHelper.Deserialize(bytes);
307-
return AssertCardinalityNameAndIdAsync<T>(transformer: transformer, cancellationToken:cancellationToken);
307+
return AssertCardinalityNameAndIdAsync<T>(transformer: transformer, cancellationToken: cancellationToken);
308308
}
309309
catch (System.Exception ex)
310310
{

src/NHibernate/Async/Impl/MultiCriteriaImpl.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,7 @@ private async Task GetResultsFromDatabaseAsync(IList results, CancellationToken
200200
for (int i = 0; i < loaders.Count; i++)
201201
{
202202
CriteriaLoader loader = loaders[i];
203-
await (loader.InitializeEntitiesAndCollectionsAsync(
204-
hydratedObjects[i], reader, session, session.DefaultReadOnly, null, cancellationToken)).ConfigureAwait(false);
203+
await (loader.InitializeEntitiesAndCollectionsAsync(hydratedObjects[i], reader, session, session.DefaultReadOnly, cancellationToken: cancellationToken)).ConfigureAwait(false);
205204

206205
if (createSubselects[i])
207206
{

src/NHibernate/Async/Impl/MultiQueryImpl.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,7 @@ protected async Task<List<object>> DoListAsync(CancellationToken cancellationTok
172172
ITranslator translator = translators[i];
173173
QueryParameters parameter = parameters[i];
174174

175-
await (translator.Loader.InitializeEntitiesAndCollectionsAsync(
176-
hydratedObjects[i], reader, session, false, null, cancellationToken)).ConfigureAwait(false);
175+
await (translator.Loader.InitializeEntitiesAndCollectionsAsync(hydratedObjects[i], reader, session, false, cancellationToken: cancellationToken)).ConfigureAwait(false);
177176

178177
if (createSubselects[i])
179178
{

src/NHibernate/Async/Loader/Loader.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,7 @@ protected async Task<object> LoadSingleRowAsync(DbDataReader resultSet, ISession
129129
queryParameters.NamedParameters);
130130
}
131131

132-
await (InitializeEntitiesAndCollectionsAsync(
133-
hydratedObjects, resultSet, session, queryParameters.IsReadOnly(session), null, cancellationToken)).ConfigureAwait(false);
132+
await (InitializeEntitiesAndCollectionsAsync(hydratedObjects, resultSet, session, queryParameters.IsReadOnly(session), cancellationToken: cancellationToken)).ConfigureAwait(false);
134133
await (session.PersistenceContext.InitializeNonLazyCollectionsAsync(cancellationToken)).ConfigureAwait(false);
135134
return result;
136135
}
@@ -322,8 +321,7 @@ private async Task<IList> DoQueryAsync(ISessionImplementor session, QueryParamet
322321
session.Batcher.CloseCommand(st, rs);
323322
}
324323

325-
await (InitializeEntitiesAndCollectionsAsync(
326-
hydratedObjects, rs, session, queryParameters.IsReadOnly(session), null, cancellationToken)).ConfigureAwait(false);
324+
await (InitializeEntitiesAndCollectionsAsync(hydratedObjects, rs, session, queryParameters.IsReadOnly(session), cancellationToken: cancellationToken)).ConfigureAwait(false);
327325

328326
if (createSubselects)
329327
{
@@ -336,7 +334,7 @@ private async Task<IList> DoQueryAsync(ISessionImplementor session, QueryParamet
336334

337335
internal async Task InitializeEntitiesAndCollectionsAsync(
338336
IList hydratedObjects, object resultSetId, ISessionImplementor session, bool readOnly,
339-
CacheBatcher cacheBatcher, CancellationToken cancellationToken)
337+
CacheBatcher cacheBatcher = null, CancellationToken cancellationToken = default(CancellationToken))
340338
{
341339
cancellationToken.ThrowIfCancellationRequested();
342340
ICollectionPersister[] collectionPersisters = CollectionPersisters;

src/NHibernate/Impl/MultiCriteriaImpl.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,7 @@ private void GetResultsFromDatabase(IList results)
271271
for (int i = 0; i < loaders.Count; i++)
272272
{
273273
CriteriaLoader loader = loaders[i];
274-
loader.InitializeEntitiesAndCollections(
275-
hydratedObjects[i], reader, session, session.DefaultReadOnly, null);
274+
loader.InitializeEntitiesAndCollections(hydratedObjects[i], reader, session, session.DefaultReadOnly);
276275

277276
if (createSubselects[i])
278277
{

src/NHibernate/Impl/MultiQueryImpl.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,8 +614,7 @@ protected List<object> DoList()
614614
ITranslator translator = translators[i];
615615
QueryParameters parameter = parameters[i];
616616

617-
translator.Loader.InitializeEntitiesAndCollections(
618-
hydratedObjects[i], reader, session, false, null);
617+
translator.Loader.InitializeEntitiesAndCollections(hydratedObjects[i], reader, session, false);
619618

620619
if (createSubselects[i])
621620
{

src/NHibernate/Loader/Loader.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,7 @@ protected object LoadSingleRow(DbDataReader resultSet, ISessionImplementor sessi
315315
queryParameters.NamedParameters);
316316
}
317317

318-
InitializeEntitiesAndCollections(
319-
hydratedObjects, resultSet, session, queryParameters.IsReadOnly(session), null);
318+
InitializeEntitiesAndCollections(hydratedObjects, resultSet, session, queryParameters.IsReadOnly(session));
320319
session.PersistenceContext.InitializeNonLazyCollections();
321320
return result;
322321
}
@@ -518,8 +517,7 @@ private IList DoQuery(ISessionImplementor session, QueryParameters queryParamete
518517
session.Batcher.CloseCommand(st, rs);
519518
}
520519

521-
InitializeEntitiesAndCollections(
522-
hydratedObjects, rs, session, queryParameters.IsReadOnly(session), null);
520+
InitializeEntitiesAndCollections(hydratedObjects, rs, session, queryParameters.IsReadOnly(session));
523521

524522
if (createSubselects)
525523
{
@@ -603,7 +601,7 @@ private IEnumerable<SubselectFetch> CreateSubselects(IList<EntityKey[]> keys, Qu
603601

604602
internal void InitializeEntitiesAndCollections(
605603
IList hydratedObjects, object resultSetId, ISessionImplementor session, bool readOnly,
606-
CacheBatcher cacheBatcher)
604+
CacheBatcher cacheBatcher = null)
607605
{
608606
ICollectionPersister[] collectionPersisters = CollectionPersisters;
609607
if (collectionPersisters != null)

src/NHibernate/Multi/QueryBatchExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ public IList<TResult> Value
567567
}
568568
}
569569

570-
class FutureEnumerable<TResult> : IFutureEnumerable<TResult>
570+
partial class FutureEnumerable<TResult> : IFutureEnumerable<TResult>
571571
{
572572
private readonly IFutureList<TResult> _result;
573573

0 commit comments

Comments
 (0)