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

Query: Disallow client evaluation of queryable methods in projection #17264

Closed
smitpatel opened this issue Aug 19, 2019 · 4 comments
Closed

Query: Disallow client evaluation of queryable methods in projection #17264

smitpatel opened this issue Aug 19, 2019 · 4 comments
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-bug
Milestone

Comments

@smitpatel
Copy link
Contributor

If subquery in projection fails to translate we try to client eval outside of Select in subquery. Which is against the design. (As a where which did not go to server will fetch extra data).

@smitpatel
Copy link
Contributor Author

This may have been fixed by @ajcvickers changes for client eval exception. Relevant tests are in BuiltInDataTypesSqliteTest tagged with issue #15249

@smitpatel
Copy link
Contributor Author

Also this needs to go in 3.0

@ajcvickers ajcvickers self-assigned this Aug 20, 2019
@ajcvickers ajcvickers added this to the 3.0.0 milestone Aug 20, 2019
@ajcvickers
Copy link
Contributor

Taking a look.

@smitpatel
Copy link
Contributor Author

After re-thinking, realized that existing change wouldn't fix this.
https://github.com/aspnet/EntityFrameworkCore/blob/ba5c3f768bb2cefcf6d84e0a6edc7dc1a12c6649/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.cs#L298-L313

Above block is supposed to throw when failing to translate. (It is bit different pattern though we are also short-circuiting using queryable method translator when translating queryable methods)

@ajcvickers ajcvickers added the closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. label Aug 20, 2019
@ajcvickers ajcvickers modified the milestones: 3.0.0, 3.0.0-preview9 Aug 21, 2019
@ajcvickers ajcvickers modified the milestones: 3.0.0-preview9, 3.0.0 Nov 11, 2019
@ajcvickers ajcvickers removed their assignment Sep 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-bug
Projects
None yet
Development

No branches or pull requests

2 participants