Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Query/AOT: fix remaining AOT materializer exceptions #33383

Closed
Tracked by #29754
maumar opened this issue Mar 24, 2024 · 2 comments
Closed
Tracked by #29754

Query/AOT: fix remaining AOT materializer exceptions #33383

maumar opened this issue Mar 24, 2024 · 2 comments
Assignees
Labels
area-aot area-query closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-bug

Comments

@maumar
Copy link
Contributor

maumar commented Mar 24, 2024

InMemory - Contains_with_local_ordered_enumerable_inline - List { "ABCDE", "ALFKI" }.Order() ends up being constant of OrderedEnumerable

NorthwindODataQueryTests - One or more errors occurred. (Cannot create arrays of open type.) (The following constructor parameters did not have matching fixture data: NorthwindODataQueryTestFixture fixture)
---- System.NotSupportedException : Cannot create arrays of open type.
---- The following constructor parameters did not have matching fixture data: NorthwindODataQueryTestFixture fixture
Likely test issue, but maybe related to type mapping changes?

Json_multiple_collection_projections
Json_collection_distinct_in_projection
Json_branch_collection_distinct_and_other_collection

ListComparer captures element comparer, actual product issue, rather than creating a constant of the comparer, we should track down where it's added and instead create constant of IProperty(Base) and access comparer using expression tree calls from that. This will also solve problem with user generated comparers, which we absolutely can't hack using expression trees like all other compares that we create ourselves

@maumar
Copy link
Contributor Author

maumar commented Apr 8, 2024

Binding_interceptors_are_used_by_queries - IInstantiationBindingInterceptor doesn't have any identifying properties, so when we are resolving the liftable constant for IInstantiationBindingInterceptor we can't really be sure we get the right one. In the old code we just do reference equality, but we obviously can't do that in AOT, so next best thing is type name + hash code. But we should come up with something more reliable.

@maumar
Copy link
Contributor Author

maumar commented Apr 11, 2024

All of these are fixed now, closing

@maumar maumar closed this as completed Apr 11, 2024
@maumar maumar added the closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. label Apr 11, 2024
@roji roji added this to the 9.0.0 milestone Apr 12, 2024
@ajcvickers ajcvickers modified the milestones: 9.0.0, 9.0.0-preview4 Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-aot area-query closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-bug
Projects
None yet
Development

No branches or pull requests

3 participants