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

Implement support for the new .NET LeftJoin operator #35451

Merged
merged 1 commit into from
Jan 15, 2025
Merged

Conversation

roji
Copy link
Member

@roji roji commented Jan 10, 2025

This is pretty straightforward - this removes our internal "fake" LeftJoin method, replacing it with the new one introduced into System.Linq; the existing preprocessing conversion of GroupJoin+SelectMany+DefaultIfEmpty to LeftJoin works exactly as before (and will continue to do so).

One tricky aspect here is the tests - all tests exercising left join are currently written using the current GroupJoin+SelectMany+DefaultIfEmpty syntax. Ideally, left join tests should use the new LeftJoin operator, with some specific, targeted tests verifying that the conversion from the old syntax to LeftJoin still works; but this is quite a lot of work. I've changed several easy/obvious tests to use LeftJoin, but have left most tests as-is for now.

In any case, since GroupJoin+SelectMany+DefaultIfEmpty is already well-covered and converts to LeftJoin, LeftJoin is also well-covered.

Closes #12793

@roji roji requested a review from a team January 10, 2025 15:17
@roji roji merged commit 4f4bd31 into dotnet:main Jan 15, 2025
7 checks passed
@roji roji deleted the LeftJoin branch January 15, 2025 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support the new .NET 10 LeftJoin operators
2 participants