Skip to content

Conversation

@michaelstaib
Copy link
Member

@michaelstaib michaelstaib commented Jun 5, 2024

The async result handling for IQueryable and similar types has been suboptimal, making integration with systems like CosmosDB challenging. With Hot Chocolate 14, we are standardizing the handling of incomplete queries after the resolver pipeline is executed.

Previously, we had a primitive called executables in Hot Chocolate. We are now enhancing and standardizing this primitive by coupling it with the new IResolverResultPostProcessor.

These post processors are created by an expression compiler during schema building, or, if the source generator is used, by our source generator at build time.

Fixes #5958

@codecov
Copy link

codecov bot commented Jun 5, 2024

Codecov Report

Attention: Patch coverage is 37.75000% with 249 lines in your changes missing coverage. Please review.

Project coverage is 75.99%. Comparing base (51933a6) to head (c264c64).

Current head c264c64 differs from pull request most recent head 9b43523

Please upload reports for the commit 9b43523 to get more accurate results.

Files Patch % Lines
...re/src/Abstractions/DefaultEnumerableExecutable.cs 0.00% 58 Missing ⚠️
...ore/src/Abstractions/DefaultQueryableExecutable.cs 51.00% 49 Missing ⚠️
.../src/Data/Execution/MongoDbCollectionExecutable.cs 0.00% 28 Missing ⚠️
...c/Abstractions/DefaultAsyncEnumerableExecutable.cs 29.03% 22 Missing ⚠️
...re/src/Abstractions/Execution/ListPostProcessor.cs 33.33% 16 Missing ⚠️
...aven/src/Data/RavenAsyncDocumentQueryExecutable.cs 12.50% 14 Missing ⚠️
...c/HotChocolate/Core/src/Abstractions/Executable.cs 44.44% 10 Missing ⚠️
...Data/Execution/MongoDbAggregateFluentExecutable.cs 0.00% 10 Missing ⚠️
.../src/Data/Execution/MongoDbFindFluentExecutable.cs 0.00% 10 Missing ⚠️
...HotChocolate/Core/src/Abstractions/Executable~1.cs 27.27% 8 Missing ⚠️
... and 10 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7152      +/-   ##
==========================================
- Coverage   78.59%   75.99%   -2.61%     
==========================================
  Files        2390     2700     +310     
  Lines      117219   133655   +16436     
==========================================
+ Hits        92124   101566    +9442     
- Misses      25095    32089    +6994     
Flag Coverage Δ
unittests 75.99% <37.75%> (-2.61%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@michaelstaib michaelstaib force-pushed the main branch 2 times, most recently from 8a97a79 to e2d2300 Compare June 17, 2024 17:49
@michaelstaib michaelstaib merged commit 07388b4 into main Jul 1, 2024
@michaelstaib michaelstaib deleted the mst/handle-async-enumerable branch July 1, 2024 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cosmos IQueryable throws "LINQ query please set allowSynchronousQueryExecution true or use GetItemQueryIterator to execute asynchronously"

2 participants