-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Open
Labels
:Analytics/ES|QLAKA ESQLAKA ESQL>bugTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)Meta label for analytical engine team (ESQL/Aggs/Geo)
Description
Description
While working on making field pushing (aka field fusion) generic #137382 we bumped into a few things worth fixing as followup rather than in the original PR.
Blocks release of function pushdown
- Pushing the same field in both a WHERE and an EVAL (done in ES|QL - vector similarity pushdown follow up #137564)
FROM test
| WHERE LENGTH(last_name) > 1
| EVAL l = LENGTH(last_name)
- Pushing a ton of different ways (done in ES|QL - vector similarity pushdown follow up #137564)
FROM test
| EVAL a1 = LENGTH(last_name), a2 = LENGTH(last_name), a3 = LENGTH(last_name),
a4 = abs(LENGTH(last_name)) + a1 + LENGTH(first_name) * 3
| WHERE a1 > 1 and LENGTH(last_name) > 1
| STATS l = SUM(LENGTH(last_name)) + AVG(a3)
- Lookup joins with the same name ESQL: Push functions to field loads in primaries #138544
FROM test
| DROP test
| LOOKUP JOIN lookup ON matching == main_matching
| EVAL test = LENGTH(test)
| STATS test = VALUES(test)
- Field pushing adds additional attributes into each
EsRelation. There could be multipleEsRelationsin a plan, that has join, fork or subqueries etc. It will be great to have tests that covers multipleEsRelationswithBlockLoaderExpressionin general to validate both the plan and the query results. -
./gradlew ":x-pack:plugin:esql:qa:server:single-node:javaRestTest" --tests "org.elasticsearch.xpack.esql.qa.single_node.GenerativeForkIT" -Dtests.method="test {csv-spec:inlinestats.MvMinMvExpand}" -Dtests.seed=B66E51CF4E6C7605 -Dtests.locale=ru-BY -Dtests.timezone=Asia/Qatar -Druntime.java=25ESQL: Fix INLINE STATS + FORK + pushdown bug #138633 - Rewrite one time. Probably need this to fix ^^^ anyway. ESQL: Fix INLINE STATS + FORK + pushdown bug #138633
- [ES|QL] Prevent fused fields from being pushed into StubRelations #138620
Doesn't block release of function pushdown
- Per-node-fetch-phase
- Make sure we push if the result isn't included in a topn or stats. This has something to do with the per-node-fetch-phase. - ESQL - Add field function pushing node reduce plan tests #138529
- Make sure we push if the result is part of a topn, but not the topn's keys. This has something to do with the per-node-fetch-phase. - ESQL - Add field function pushing node reduce plan tests #138529
- Make sure that when we push and the pushed expression is part of the topn keys, we don't load the original field in the data node, but jost on the node_reduce phase. This has something to do with the per-node-fetch-phase.
- Support for more tests of
short,byte,float,half_float. Theemployeesdata doesn't have any multi-valued field of those types. - Don't push if we are already loading.
- Decide what to do if we push twice to the same field.
Metadata
Metadata
Assignees
Labels
:Analytics/ES|QLAKA ESQLAKA ESQL>bugTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)Meta label for analytical engine team (ESQL/Aggs/Geo)