Skip to content

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

Merged
roji merged 1 commit intodotnet:release/9.0from
roji:FixFuncletizer
Oct 12, 2024
Merged

[release/9.0] Fix conditional test evaluation in funcletizer#34886
roji merged 1 commit intodotnet:release/9.0from
roji:FixFuncletizer

Conversation

@roji
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Member

Add a backport PR

This is already targeting 9.0, I updated the title

@SamMonoRT
Copy link
Copy Markdown
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
@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