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

[release/9.0] Fix conditional test evaluation in funcletizer #34886

Merged
merged 1 commit into from
Oct 12, 2024

Conversation

roji
Copy link
Member

@roji roji commented Oct 11, 2024

Fixes #34883

Description

EF's funcletizer (first and very important step in the query pipeline) was rewritten in EF 9, both to allow query precompilation (NativeAOT) and for better performance (see #33106). The new implementation contains a bug in the conditional expression handling when the test component of the conditional expression is client-evaluatable.

Customer impact

Queries that contain the conditional operator with a client-evaluatable test (e.g. foo() ? x : y sometimes fail to execute.

How found

Customer reported on 9.0.0-rc1

Regression

Yes, from 8.

Testing

Test added.

Risk

Low

@roji roji requested a review from a team October 11, 2024 13:57
@SamMonoRT
Copy link
Member

Add a backport PR

@AndriySvyryd AndriySvyryd changed the title Fix conditional test evaluation in funcletizer [release/9.0] Fix conditional test evaluation in funcletizer Oct 11, 2024
@AndriySvyryd
Copy link
Member

Add a backport PR

This is already targeting 9.0, I updated the title

@SamMonoRT
Copy link
Member

Approved via email

@roji roji linked an issue Oct 12, 2024 that may be closed by this pull request
@roji roji merged commit fdb4c38 into dotnet:release/9.0 Oct 12, 2024
7 checks passed
@roji roji deleted the FixFuncletizer branch October 12, 2024 06:25
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.

EF9: Unbound variable error when combining db and non-db condition
3 participants