Skip to content

Implement support for the new .NET LeftJoin operator#35451

Merged
roji merged 1 commit intodotnet:mainfrom
roji:LeftJoin
Jan 15, 2025
Merged

Implement support for the new .NET LeftJoin operator#35451
roji merged 1 commit intodotnet:mainfrom
roji:LeftJoin

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