-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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: Avoid pushdown when joining with a subquery which can be lifted out #26476
Conversation
test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs
Show resolved
Hide resolved
test/EFCore.SqlServer.FunctionalTests/Query/TPTGearsOfWarQuerySqlServerTest.cs
Show resolved
Hide resolved
test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs
Show resolved
Hide resolved
test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs
Show resolved
Hide resolved
test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs
Show resolved
Hide resolved
test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs
Show resolved
Hide resolved
test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs
Show resolved
Hide resolved
test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysSplitQuerySqlServerTest.cs
Show resolved
Hide resolved
7cf22f4
to
0086b54
Compare
0086b54
to
6ddb4e4
Compare
…d out Part of #17622 Avoids pushdown for scenario when we cause pushdown due to order by but then we erase order by without skip take giving us simple and lift-able query again
6ddb4e4
to
41a5edd
Compare
@dotnet/efteam - ping |
FROM [LevelThree] AS [l1] | ||
) AS [t1] ON [t0].[Id] = [t1].[OneToMany_Optional_Inverse3Id] | ||
ORDER BY [l].[Id], [t0].[Id], [t1].[Id]"); | ||
LEFT JOIN [LevelThree] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❤️ very cool, thanks for doing this @smitpatel!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love how implementing such a change has this ripple effect on queries, opening up other simplifications in turn.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it's kind of like how inlining in real compilation opens the way for other optimization types... Not sure we have good examples of that in EF Core, but 🤣
Part of #17622
Avoids pushdown for scenario when we cause pushdown due to order by but then we erase order by without skip take giving us simple and lift-able query again