-
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
Refactor RelationalProjectionExpressionVisitor #7767
Refactor RelationalProjectionExpressionVisitor #7767
Conversation
@tuespetre, |
ece6c15
to
6e838e7
Compare
4ec2d54
to
1ba0c94
Compare
6ce36d4
to
f654e1b
Compare
@smitpatel 🆙📅, rebased |
More accurate marking of RequiresClientProjection (less false positives), which results in less duplicate visitation of child query models in many cases Fixes dotnet#7844
f654e1b
to
4442d1a
Compare
@smitpatel @maumar @anpete any chance of looking at this one soon? Waiting on it for #7697 and frequently needing to rebase, etc. |
@tuespetre At present @smitpatel is working on a significant refactoring of SelectExpression - it's probably best to hold off on the GROUP BY work for now (constant rebasing etc.). In fact, I would hold of on anything that touches SelectExpression - lot of stuff is going to change in that area, referential integrity of SelectExpression trees will be vastly improved and you won't be able to make adhoc changes to ColumnExpression, aliases etc. If you have some ideas for query model optimizations, those would be the best to focus on for now (like the several QM optimizations that you recently submitted - I will look at them as soon as I can) |
From #7950 description
Just tweaking around VisitNew to avoid visiting twice would fix #7844 and other changes in tests. It seems unnecessary to split out Member/MethodCall visiting part. |
Closing this PR in favour of #8072 |
More accurate marking of
RequiresClientProjection
(less false positives), which results in less duplicate visitation of child query models in many casesNote that the few tests producing larger SQL queries are due to unnecessary subquery pushdown, because now that
RequiresClientProjection
is marked more accurately,LiftSubQuery
is able to lift them. See the related issue: #7766