Skip to content

Conversation

@roji
Copy link
Member

@roji roji commented Nov 9, 2023

Fixes #32208, backports #32214

Description

When doing SQL nullability processing for an non-subquery InExpression (e.g. Contains LINQ operator), the expression's item was visited but the results were discarded, not being taken into account.

Customer impact

This can cause bugs in any LINQ query containing x.Contains(y), where y (the item) requires some sort of nullability processing. For example, this causes QueryBugsTest.Nested_contains_with_enum to fail when the SQL compatibility level is set to low (but that's just one example).

How found

Customer reported on 8.0

Regression

Yes.

Testing

Added tests.

Risk

Very low; a quirk has been added.

@roji roji requested a review from a team November 9, 2023 11:01
@roji roji changed the title [release/8.0] Contains nullability processing8.0 [release/8.0] Contains nullability processing Nov 9, 2023
@roji roji merged commit e6fb36c into dotnet:release/8.0 Nov 13, 2023
@roji roji deleted the ContainsNullabilityProcessing8.0 branch November 13, 2023 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants