ESQL: More care when pushing expression to load#139412
Merged
nik9000 merged 1 commit intoelastic:mainfrom Dec 12, 2025
Merged
Conversation
With this change we only push if the EVAL/WHERE/STATS has exactly one "leaf" node ancestor *AND* it's valid for pushing. This prevents pushing into "StubRelations" like we get with this plan: ``` FROM k8s-downsampled | INLINE STATS tx_max = MAX(network.eth0.tx) BY pod ``` In the future we should be able to push if we can push into *all* relations rather than checking that there is just one. But baby steps. Closes elastic#138620
Collaborator
|
Pinging @elastic/es-analytical-engine (Team:Analytics) |
16 tasks
Member
Author
|
I believe we should be even more careful about how we push than this is, but I can't come up with a query where it makes a difference right now. |
Member
Author
|
I'd like to add another test to |
carlosdelest
approved these changes
Dec 12, 2025
| * for "can't push". | ||
| * </p> | ||
| */ | ||
| private class Primaries { |
Member
Author
|
Thanks @carlosdelest ! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We need to be even more careful when pushing expressions into field loading. With this change we only push if the EVAL/WHERE/STATS has exactly one "leaf" node ancestor AND it's valid for pushing.
This prevents pushing into "StubRelations" like we get with this plan:
In the future we should be able to push if we can push into all relations rather than checking that there is just one. But baby steps.
Closes #138620