-
Notifications
You must be signed in to change notification settings - Fork 25.6k
ESQL: revive inlinestats #122257
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
ESQL: revive inlinestats #122257
Changes from 2 commits
5144975
f99ebe6
59b7c00
76eea2b
c3d451a
16d6f43
043476d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| pr: 122257 | ||
| summary: Revive inlinestats | ||
| area: ES|QL | ||
| type: bug | ||
| issues: [] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ | |
| // TODO: re-enable the commented tests once the Join functionality stabilizes | ||
| // | ||
|
|
||
| maxOfInt-Ignore | ||
| maxOfInt | ||
| required_capability: join_planning_v1 | ||
| // tag::max-languages[] | ||
| FROM employees | ||
|
|
@@ -57,7 +57,7 @@ emp_no:integer | avg_worked_seconds:long | gender:keyword | max_avg_worked_secon | |
| 10030 | 394597613 | M | 394597613 | ||
| ; | ||
|
|
||
| maxOfLong-Ignore | ||
| maxOfLong | ||
| required_capability: join_planning_v1 | ||
|
|
||
| FROM employees | ||
|
|
@@ -112,7 +112,7 @@ emp_no:integer | avg_worked_seconds:long | last_name:keyword | l:keyword | max_a | |
| 10087 | 305782871 | Eugenio | E | 305782871 | ||
| ; | ||
|
|
||
| maxOfLongByCalculatedDroppedKeyword | ||
| maxOfLongByCalculatedDroppedKeyword-Ignore | ||
| required_capability: join_planning_v1 | ||
|
|
||
| FROM employees | ||
|
|
@@ -205,7 +205,7 @@ emp_no:integer | languages:integer | avg_worked_seconds:long | gender:keyword | | |
| 10007 | 4 | 393084805 | F | 2.863684210555556E8 | 5 | ||
| ; | ||
|
|
||
| byMultivaluedSimple | ||
| byMultivaluedSimple-Ignore | ||
| required_capability: join_planning_v1 | ||
|
|
||
| // tag::mv-group[] | ||
|
|
@@ -223,7 +223,7 @@ abbrev:keyword | type:keyword | scalerank:integer | min_scalerank:integer | |
| // end::mv-group-result[] | ||
| ; | ||
|
|
||
| byMultivaluedMvExpand | ||
| byMultivaluedMvExpand-Ignore | ||
| required_capability: join_planning_v1 | ||
|
|
||
| // tag::mv-expand[] | ||
|
|
@@ -243,7 +243,7 @@ abbrev:keyword | type:keyword | scalerank:integer | min_scalerank:integer | |
| // end::mv-expand-result[] | ||
| ; | ||
|
|
||
| byMvExpand | ||
| byMvExpand-Ignore | ||
| required_capability: join_planning_v1 | ||
|
|
||
| // tag::extreme-airports[] | ||
|
|
@@ -307,7 +307,7 @@ count:long | country:keyword | avg:double | |
| 17 | United Kingdom | 4.455 | ||
| ; | ||
|
|
||
| afterWhere | ||
| afterWhere-Ignore | ||
| required_capability: join_planning_v1 | ||
|
|
||
| FROM airports | ||
|
|
@@ -330,7 +330,7 @@ required_capability: join_planning_v1 | |
|
|
||
| FROM airports | ||
| | RENAME scalerank AS int | ||
| | LOOKUP int_number_names ON int | ||
| | LOOKUP JOIN int_number_names ON int | ||
|
||
| | RENAME name as scalerank | ||
| | DROP int | ||
| | INLINESTATS count=COUNT(*) BY scalerank | ||
|
|
@@ -366,7 +366,7 @@ abbrev:keyword | city:keyword | region:text | "COUNT(*)":long | |
| FUK | Fukuoka | 中央区 | 2 | ||
| ; | ||
|
|
||
| beforeStats-Ignore | ||
| beforeStats | ||
| required_capability: join_planning_v1 | ||
|
|
||
| FROM airports | ||
|
|
@@ -379,7 +379,7 @@ northern:long | southern:long | |
| 520 | 371 | ||
| ; | ||
|
|
||
| beforeKeepSort | ||
| beforeKeepSort-Ignore | ||
| required_capability: join_planning_v1 | ||
|
|
||
| FROM employees | ||
|
|
@@ -394,7 +394,7 @@ emp_no:integer | languages:integer | max_salary:integer | |
| 10003 | 4 | 74572 | ||
| ; | ||
|
|
||
| beforeKeepWhere | ||
| beforeKeepWhere-Ignore | ||
| required_capability: join_planning_v1 | ||
|
|
||
| FROM employees | ||
|
|
@@ -537,7 +537,7 @@ emp_no:integer | one:integer | |
| 10005 | 1 | ||
| ; | ||
|
|
||
| percentile-Ignore | ||
| percentile | ||
| required_capability: join_planning_v1 | ||
|
|
||
| FROM employees | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,6 +22,7 @@ | |
| import org.elasticsearch.xpack.esql.plan.logical.OrderBy; | ||
| import org.elasticsearch.xpack.esql.plan.logical.TopN; | ||
| import org.elasticsearch.xpack.esql.plan.logical.UnaryPlan; | ||
| import org.elasticsearch.xpack.esql.plan.logical.join.InlineJoin; | ||
| import org.elasticsearch.xpack.esql.plan.logical.join.Join; | ||
| import org.elasticsearch.xpack.esql.plan.logical.join.JoinConfig; | ||
| import org.elasticsearch.xpack.esql.plan.logical.join.JoinTypes; | ||
|
|
@@ -178,6 +179,10 @@ private PhysicalPlan mapBinary(BinaryPlan bp) { | |
| throw new EsqlIllegalArgumentException("unsupported join type [" + config.type() + "]"); | ||
| } | ||
|
|
||
| if (join instanceof InlineJoin) { | ||
| return new FragmentExec(bp); | ||
| } | ||
|
Comment on lines
+182
to
+184
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is odd. What do we need this for? If this is a quick hack, can we add a I'd think this would prevent the It seems like this, instead, pushes the execution of the inline join into the data nodes, which cannot always be true - e.g. there could be a regular There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. After the There are still many queries muted in the |
||
|
|
||
| PhysicalPlan left = map(bp.left()); | ||
|
|
||
| // only broadcast joins supported for now - hence push down as a streaming operator | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably we'll need a new capability to avoid running this with old nodes on bwc tests.