kibana/examples/esql_ast_inspector
Kibana Machine 2074c97dfd
[8.x] [ES|QL] Source AST node parsing improvements and source selector parsing (#217299) (#217345)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ES|QL] Source AST node parsing improvements and source selector
parsing (#217299)](https://github.com/elastic/kibana/pull/217299)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Vadim
Kibana","email":"82822460+vadimkibana@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-07T14:11:10Z","message":"[ES|QL]
Source AST node parsing improvements and source selector parsing
(#217299)\n\n## Summary\n\n- This PR introduces source selector (aka
\"component\") parsing `FROM\nindex::<selector>`\n- It also improves
source cluster and index parsing `FROM\n<cluster>:<index>`\n- Previous
cluster and index would be parsed as `string` now they are\nparsed as
`ESQLStringLiteral` instead. This is more correct as any of\nthose can
take three forms, and `ESQLStringLiteral` handles all three\nforms:\n 1.
unquoted string: `cluster:index`\n 2. single-double quoted string:
`\"cluster\":\"index\"`\n 3. triple-double quote string:
`\"\"\"cluster\"\"\":\"\"\"index\"\"`\n- The `ESQLStringLiteral` now
also supports *\"unquoted strings\"* in\naddition to single `\"str\"`
and triple `\"\"\"str\"\"\"` quoted strings.\n\n\n### Checklist\n\n- [x]
[Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"86fdbe5379bbe43036d503752ff502fc28718f4b","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["review","release_note:skip","Feature:ES|QL","Team:ESQL","backport:version","v9.1.0","v8.19.0"],"title":"[ES|QL]
Source AST node parsing improvements and source selector
parsing","number":217299,"url":"https://github.com/elastic/kibana/pull/217299","mergeCommit":{"message":"[ES|QL]
Source AST node parsing improvements and source selector parsing
(#217299)\n\n## Summary\n\n- This PR introduces source selector (aka
\"component\") parsing `FROM\nindex::<selector>`\n- It also improves
source cluster and index parsing `FROM\n<cluster>:<index>`\n- Previous
cluster and index would be parsed as `string` now they are\nparsed as
`ESQLStringLiteral` instead. This is more correct as any of\nthose can
take three forms, and `ESQLStringLiteral` handles all three\nforms:\n 1.
unquoted string: `cluster:index`\n 2. single-double quoted string:
`\"cluster\":\"index\"`\n 3. triple-double quote string:
`\"\"\"cluster\"\"\":\"\"\"index\"\"`\n- The `ESQLStringLiteral` now
also supports *\"unquoted strings\"* in\naddition to single `\"str\"`
and triple `\"\"\"str\"\"\"` quoted strings.\n\n\n### Checklist\n\n- [x]
[Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"86fdbe5379bbe43036d503752ff502fc28718f4b"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217299","number":217299,"mergeCommit":{"message":"[ES|QL]
Source AST node parsing improvements and source selector parsing
(#217299)\n\n## Summary\n\n- This PR introduces source selector (aka
\"component\") parsing `FROM\nindex::<selector>`\n- It also improves
source cluster and index parsing `FROM\n<cluster>:<index>`\n- Previous
cluster and index would be parsed as `string` now they are\nparsed as
`ESQLStringLiteral` instead. This is more correct as any of\nthose can
take three forms, and `ESQLStringLiteral` handles all three\nforms:\n 1.
unquoted string: `cluster:index`\n 2. single-double quoted string:
`\"cluster\":\"index\"`\n 3. triple-double quote string:
`\"\"\"cluster\"\"\":\"\"\"index\"\"`\n- The `ESQLStringLiteral` now
also supports *\"unquoted strings\"* in\naddition to single `\"str\"`
and triple `\"\"\"str\"\"\"` quoted strings.\n\n\n### Checklist\n\n- [x]
[Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"86fdbe5379bbe43036d503752ff502fc28718f4b"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com>
2025-04-07 18:10:44 +02:00
..
.storybook [8.x] [ES|QL] Comment parsing and pretty-printing (#192173) (#194117) 2024-09-26 07:31:50 -05:00
public [8.x] [ES|QL] Source AST node parsing improvements and source selector parsing (#217299) (#217345) 2025-04-07 18:10:44 +02:00
kibana.jsonc [ES|QL] add AST inspector to examples (#182720) 2024-05-10 13:47:06 -05:00
README.md [ES|QL] add AST inspector to examples (#182720) 2024-05-10 13:47:06 -05:00
tsconfig.json [ES|QL] add AST inspector to examples (#182720) 2024-05-10 13:47:06 -05:00

esql_ast_inspector

ES|QL AST inspector tool

To run this example, start kibana with the --run-examples flag.

yarn start --run-examples