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

[ES|QL] improve support for "invoke" autocomplete triggers #188677

Closed
drewdaemon opened this issue Jul 18, 2024 · 1 comment · Fixed by #188877
Closed

[ES|QL] improve support for "invoke" autocomplete triggers #188677

drewdaemon opened this issue Jul 18, 2024 · 1 comment · Fixed by #188877
Assignees
Labels
Feature:ES|QL ES|QL related features in Kibana impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. Team:ESQL ES|QL related features in Kibana usability

Comments

@drewdaemon
Copy link
Contributor

drewdaemon commented Jul 18, 2024

Describe the feature:
In some cases, our autocomplete refuses to produce suggestions when a user starts or continues typing a word. It can also appear not to take into account the characters that have already been typed in the current word. A user must often delete one or more characters and press the space bar to get the suggestions menu open again.

Screen.Recording.2024-07-18.at.11.10.30.AM.mov

This is confusing behavior and often leaves the user without good suggestions.

Why this happens

Monaco produces suggestions based on various events. Two kinds of events are "Invoke" and "Trigger character" (ref). "Trigger character" means the user enters one of a set of special characters we have configured to pop the suggestions menu open (e.g. ' '). "Invoke" means the user simply starts typing a word.

The inconsistencies in our autocomplete behavior are largely symptomatic of spotty support for "Invoke" style events.

Invoke (0) Trigger character (1)
Source command
Pipe command
Function argument
FROM source
FROM source METADATA
FROM source METADATA field ❌ (for _)
EVAL argument
DISSECT field
DISSECT field pattern
DROP (first field)
DROP (subsequent fields)
ENRICH policy
ENRICH policy ON
ENRICH policy ON field
ENRICH policy WITH
ENRICH policy WITH field
GROK field
GROK field pattern
KEEP field
KEEP field1, field2
LIMIT number
MV_EXPAND field
RENAME field
RENAME field AS
RENAME field AS var0
SORT field
SORT field order
SORT field order nulls-order
STATS argument
STATS argument BY
STATS argument BY expression
WHERE argument
WHERE argument comparison ✅ (partial, not with special characters)
@drewdaemon drewdaemon added usability impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. Feature:ES|QL ES|QL related features in Kibana Team:ESQL ES|QL related features in Kibana labels Jul 18, 2024
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-esql (Team:ESQL)

@drewdaemon drewdaemon self-assigned this Jul 18, 2024
drewdaemon added a commit that referenced this issue Jul 22, 2024
## Summary

Part of #188677

Monaco editor has different [kinds of completion
triggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html).
However, the current tests only validate the "TriggerCharacter" events.

This PR prepares the tests to support validating "Invoke" as well.

**Note:** It does change many of the tests from a "TriggerCharacter" to
an "Invoke" scenario. I think this is okay because
- there are still plenty of "TriggerCharacter" tests
- it would take a lot of work to update all the tests
- I will be adding a full set of tests to cover both scenarios as part
of #188677
- We may rely less and less on trigger characters in the future

---------

Co-authored-by: kibanamachine <[email protected]>
Co-authored-by: Stratoula Kalafateli <[email protected]>
drewdaemon added a commit to drewdaemon/kibana that referenced this issue Jul 29, 2024
## Summary

Part of elastic#188677

Monaco editor has different [kinds of completion
triggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html).
However, the current tests only validate the "TriggerCharacter" events.

This PR prepares the tests to support validating "Invoke" as well.

**Note:** It does change many of the tests from a "TriggerCharacter" to
an "Invoke" scenario. I think this is okay because
- there are still plenty of "TriggerCharacter" tests
- it would take a lot of work to update all the tests
- I will be adding a full set of tests to cover both scenarios as part
of elastic#188677
- We may rely less and less on trigger characters in the future

---------

Co-authored-by: kibanamachine <[email protected]>
Co-authored-by: Stratoula Kalafateli <[email protected]>
(cherry picked from commit 76c6f55)

# Conflicts:
#	packages/kbn-esql-validation-autocomplete/src/autocomplete/__tests__/helpers.ts
#	packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts
drewdaemon referenced this issue Jul 29, 2024
…189425)

# Backport

This will backport the following commits from `main` to `8.15`:
- [[ES|QL] distinguish between trigger kinds in tests
(#188604)](#188604)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT [{"author":{"name":"Drew
Tate","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-07-22T14:25:30Z","message":"[ES|QL]
distinguish between trigger kinds in tests (#188604)\n\n##
Summary\r\n\r\nPart of
https://github.com/elastic/kibana/issues/188677\r\n\r\nMonaco editor has
different [kinds of
completion\r\ntriggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html).\r\nHowever,
the current tests only validate the \"TriggerCharacter\"
events.\r\n\r\nThis PR prepares the tests to support validating
\"Invoke\" as well.\r\n\r\n**Note:** It does change many of the tests
from a \"TriggerCharacter\" to\r\nan \"Invoke\" scenario. I think this
is okay because\r\n- there are still plenty of \"TriggerCharacter\"
tests\r\n- it would take a lot of work to update all the tests\r\n- I
will be adding a full set of tests to cover both scenarios as part\r\nof
https://github.com/elastic/kibana/issues/188677\r\n- We may rely less
and less on trigger characters in the
future\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<[email protected]>\r\nCo-authored-by:
Stratoula Kalafateli
<[email protected]>","sha":"76c6f550dc5c945f1410bb53d54923c7363c7660","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","Feature:ES|QL","Team:ESQL","v8.15.0","v8.16.0"],"number":188604,"url":"https://github.com/elastic/kibana/pull/188604","mergeCommit":{"message":"[ES|QL]
distinguish between trigger kinds in tests (#188604)\n\n##
Summary\r\n\r\nPart of
https://github.com/elastic/kibana/issues/188677\r\n\r\nMonaco editor has
different [kinds of
completion\r\ntriggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html).\r\nHowever,
the current tests only validate the \"TriggerCharacter\"
events.\r\n\r\nThis PR prepares the tests to support validating
\"Invoke\" as well.\r\n\r\n**Note:** It does change many of the tests
from a \"TriggerCharacter\" to\r\nan \"Invoke\" scenario. I think this
is okay because\r\n- there are still plenty of \"TriggerCharacter\"
tests\r\n- it would take a lot of work to update all the tests\r\n- I
will be adding a full set of tests to cover both scenarios as part\r\nof
https://github.com/elastic/kibana/issues/188677\r\n- We may rely less
and less on trigger characters in the
future\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<[email protected]>\r\nCo-authored-by:
Stratoula Kalafateli
<[email protected]>","sha":"76c6f550dc5c945f1410bb53d54923c7363c7660"}},"sourceBranch":"main","suggestedTargetBranches":["8.15"],"targetPullRequestStates":[{"branch":"8.15","label":"v8.15.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.16.0","labelRegex":"^v8.16.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/188604","number":188604,"mergeCommit":{"message":"[ES|QL]
distinguish between trigger kinds in tests (#188604)\n\n##
Summary\r\n\r\nPart of
https://github.com/elastic/kibana/issues/188677\r\n\r\nMonaco editor has
different [kinds of
completion\r\ntriggers](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html).\r\nHowever,
the current tests only validate the \"TriggerCharacter\"
events.\r\n\r\nThis PR prepares the tests to support validating
\"Invoke\" as well.\r\n\r\n**Note:** It does change many of the tests
from a \"TriggerCharacter\" to\r\nan \"Invoke\" scenario. I think this
is okay because\r\n- there are still plenty of \"TriggerCharacter\"
tests\r\n- it would take a lot of work to update all the tests\r\n- I
will be adding a full set of tests to cover both scenarios as part\r\nof
https://github.com/elastic/kibana/issues/188677\r\n- We may rely less
and less on trigger characters in the
future\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<[email protected]>\r\nCo-authored-by:
Stratoula Kalafateli
<[email protected]>","sha":"76c6f550dc5c945f1410bb53d54923c7363c7660"}}]}]
BACKPORT-->
drewdaemon added a commit to drewdaemon/kibana that referenced this issue Jul 29, 2024
…#188877)

## Summary

Resolve elastic#188677

This PR extends our support for Monaco's "Invoke" completion trigger
kind
([ref](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html)).

What this means for the user is that suggestions are now shown when the
user types a character in a word even if the suggestion menu isn't
already open. This situation often occurs when the user is editing a
query. For example, they may follow a flow like this:

1. `FROM my-index | LIMIT 10<cursor-here>`
2. `FROM <cursor-here> | LIMIT 10` (deleted the index name)
3. `FROM k<cursor-here> | LIMIT 10` (types the first character of the
index name)

Previously, they wouldn't get any help. Now, we show the list of
suggestions.

The following table shows the cases that I considered as well as the
ones that are now fixed. I also added test coverage, even for cases that
worked before to prevent subtle regressions.

| | Before | After |

|------------------------------|------------------------------------------|-----------------------|
| Source command | ✅ | ✅ |
| Pipe command | ❌ | ✅ |
| Function argument | ✅ | ✅ |
| FROM source | ❌ | ✅ |
| FROM source METADATA | ✅ | ✅ |
| FROM source METADATA field | ❌ (for `_`) | ✅ |
| EVAL argument | ✅ | ✅ |
| DISSECT field | ✅ | ✅ |
| DISSECT field pattern | ❌ | ❌ |
| DROP field | ✅ | ✅ |
| DROP field1, field2 | ❌ | ✅ |
| ENRICH policy | ✅ | ✅ |
| ENRICH policy ON | ✅ | ✅ |
| ENRICH policy ON field | ✅ | ✅ |
| ENRICH policy WITH | ✅ | ✅ |
| ENRICH policy WITH field | ✅ | ✅ |
| GROK field | ✅ | ✅ |
| GROK field pattern | ❌ | ❌ |
| KEEP field | ✅ | ✅ |
| KEEP field1, field2 | ❌ | ✅ |
| LIMIT number | ❌ | ❌ |
| MV_EXPAND field | ✅ | ✅ |
| RENAME field | ✅ | ✅ |
| RENAME field AS | ❌ | ✅ |
| RENAME field AS var0 | ✅ | ✅ |
| SORT field | ✅ | ✅ |
| SORT field order | ✅ | ✅ |
| SORT field order nulls-order | ✅ | ✅ |
| STATS argument | ✅ | ✅ |
| STATS argument BY | ✅ | ✅ |
| STATS argument BY expression | ✅ | ✅ |
| WHERE argument | ✅ | ✅ |
| WHERE argument comparison    | ✅  | ✅                     |

As I worked, I encountered a couple small bugs which I also fixed.

### Escaping field values in `ENRICH`

**Before**

https://github.com/user-attachments/assets/88f2bf35-a703-4cf4-8d45-a24452a1b59d

**After**

https://github.com/user-attachments/assets/69ad0770-f158-44fb-be8d-66b497c7f7f7

### Suggesting variable assignment in `ENRICH ... WITH`
**Before**

https://github.com/user-attachments/assets/fec47b6d-eae5-44e8-b739-9b2eecc7458b

**After**

https://github.com/user-attachments/assets/dff5afe1-37e7-470b-bb9c-edb5ac87e76d

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: kibanamachine <[email protected]>
(cherry picked from commit c77cd80)

# Conflicts:
#	packages/kbn-esql-validation-autocomplete/src/autocomplete/__tests__/autocomplete.command.stats.test.ts
#	packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts
drewdaemon referenced this issue Jul 29, 2024
…188877) (#189438)

# Backport

This will backport the following commits from `main` to `8.15`:
- [[ES|QL] Improve support for `Invoke` completion trigger kind
(#188877)](#188877)

<!--- Backport version: 8.9.8 -->

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

<!--BACKPORT [{"author":{"name":"Drew
Tate","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-07-24T15:34:57Z","message":"[ES|QL]
Improve support for `Invoke` completion trigger kind (#188877)\n\n##
Summary\n\nResolve
https://github.com/elastic/kibana/issues/188677\n\nThis PR extends our
support for Monaco's \"Invoke\" completion
trigger\nkind\n([ref](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html)).\n\nWhat
this means for the user is that suggestions are now shown when the\nuser
types a character in a word even if the suggestion menu isn't\nalready
open. This situation often occurs when the user is editing a\nquery. For
example, they may follow a flow like this:\n\n1. `FROM my-index | LIMIT
10<cursor-here>`\n2. `FROM <cursor-here> | LIMIT 10` (deleted the index
name)\n3. `FROM k<cursor-here> | LIMIT 10` (types the first character of
the\nindex name)\n\nPreviously, they wouldn't get any help. Now, we show
the list of\nsuggestions.\n\nThe following table shows the cases that I
considered as well as the\nones that are now fixed. I also added test
coverage, even for cases that\nworked before to prevent subtle
regressions.\n\n| | Before | After
|\n\n|------------------------------|------------------------------------------|-----------------------|\n|
Source command | ✅ | ✅ |\n| Pipe command | ❌ | ✅ |\n| Function argument
| ✅ | ✅ |\n| FROM source | ❌ | ✅ |\n| FROM source METADATA | ✅ | ✅ |\n|
FROM source METADATA field | ❌ (for `_`) | ✅ |\n| EVAL argument | ✅ | ✅
|\n| DISSECT field | ✅ | ✅ |\n| DISSECT field pattern | ❌ | ❌ |\n| DROP
field | ✅ | ✅ |\n| DROP field1, field2 | ❌ | ✅ |\n| ENRICH policy | ✅ |
✅ |\n| ENRICH policy ON | ✅ | ✅ |\n| ENRICH policy ON field | ✅ | ✅ |\n|
ENRICH policy WITH | ✅ | ✅ |\n| ENRICH policy WITH field | ✅ | ✅ |\n|
GROK field | ✅ | ✅ |\n| GROK field pattern | ❌ | ❌ |\n| KEEP field | ✅ |
✅ |\n| KEEP field1, field2 | ❌ | ✅ |\n| LIMIT number | ❌ | ❌ |\n|
MV_EXPAND field | ✅ | ✅ |\n| RENAME field | ✅ | ✅ |\n| RENAME field AS |
❌ | ✅ |\n| RENAME field AS var0 | ✅ | ✅ |\n| SORT field | ✅ | ✅ |\n|
SORT field order | ✅ | ✅ |\n| SORT field order nulls-order | ✅ | ✅ |\n|
STATS argument | ✅ | ✅ |\n| STATS argument BY | ✅ | ✅ |\n| STATS
argument BY expression | ✅ | ✅ |\n| WHERE argument | ✅ | ✅ |\n| WHERE
argument comparison | ✅ | ✅ |\n\nAs I worked, I encountered a couple
small bugs which I also fixed.\n\n### Escaping field values in
`ENRICH`\n\n**Before**\n\n\nhttps://github.com/user-attachments/assets/88f2bf35-a703-4cf4-8d45-a24452a1b59d\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/69ad0770-f158-44fb-be8d-66b497c7f7f7\n\n###
Suggesting variable assignment in `ENRICH ...
WITH`\n**Before**\n\n\nhttps://github.com/user-attachments/assets/fec47b6d-eae5-44e8-b739-9b2eecc7458b\n\n\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/dff5afe1-37e7-470b-bb9c-edb5ac87e76d\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\n\n---------\n\nCo-authored-by: kibanamachine
<[email protected]>","sha":"c77cd800703b319ee19bc1cae733f1f6fdd4f513","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","backport:prev-minor","Feature:ES|QL","Team:ESQL","v8.15.0","v8.16.0"],"number":188877,"url":"https://github.com/elastic/kibana/pull/188877","mergeCommit":{"message":"[ES|QL]
Improve support for `Invoke` completion trigger kind (#188877)\n\n##
Summary\n\nResolve
https://github.com/elastic/kibana/issues/188677\n\nThis PR extends our
support for Monaco's \"Invoke\" completion
trigger\nkind\n([ref](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html)).\n\nWhat
this means for the user is that suggestions are now shown when the\nuser
types a character in a word even if the suggestion menu isn't\nalready
open. This situation often occurs when the user is editing a\nquery. For
example, they may follow a flow like this:\n\n1. `FROM my-index | LIMIT
10<cursor-here>`\n2. `FROM <cursor-here> | LIMIT 10` (deleted the index
name)\n3. `FROM k<cursor-here> | LIMIT 10` (types the first character of
the\nindex name)\n\nPreviously, they wouldn't get any help. Now, we show
the list of\nsuggestions.\n\nThe following table shows the cases that I
considered as well as the\nones that are now fixed. I also added test
coverage, even for cases that\nworked before to prevent subtle
regressions.\n\n| | Before | After
|\n\n|------------------------------|------------------------------------------|-----------------------|\n|
Source command | ✅ | ✅ |\n| Pipe command | ❌ | ✅ |\n| Function argument
| ✅ | ✅ |\n| FROM source | ❌ | ✅ |\n| FROM source METADATA | ✅ | ✅ |\n|
FROM source METADATA field | ❌ (for `_`) | ✅ |\n| EVAL argument | ✅ | ✅
|\n| DISSECT field | ✅ | ✅ |\n| DISSECT field pattern | ❌ | ❌ |\n| DROP
field | ✅ | ✅ |\n| DROP field1, field2 | ❌ | ✅ |\n| ENRICH policy | ✅ |
✅ |\n| ENRICH policy ON | ✅ | ✅ |\n| ENRICH policy ON field | ✅ | ✅ |\n|
ENRICH policy WITH | ✅ | ✅ |\n| ENRICH policy WITH field | ✅ | ✅ |\n|
GROK field | ✅ | ✅ |\n| GROK field pattern | ❌ | ❌ |\n| KEEP field | ✅ |
✅ |\n| KEEP field1, field2 | ❌ | ✅ |\n| LIMIT number | ❌ | ❌ |\n|
MV_EXPAND field | ✅ | ✅ |\n| RENAME field | ✅ | ✅ |\n| RENAME field AS |
❌ | ✅ |\n| RENAME field AS var0 | ✅ | ✅ |\n| SORT field | ✅ | ✅ |\n|
SORT field order | ✅ | ✅ |\n| SORT field order nulls-order | ✅ | ✅ |\n|
STATS argument | ✅ | ✅ |\n| STATS argument BY | ✅ | ✅ |\n| STATS
argument BY expression | ✅ | ✅ |\n| WHERE argument | ✅ | ✅ |\n| WHERE
argument comparison | ✅ | ✅ |\n\nAs I worked, I encountered a couple
small bugs which I also fixed.\n\n### Escaping field values in
`ENRICH`\n\n**Before**\n\n\nhttps://github.com/user-attachments/assets/88f2bf35-a703-4cf4-8d45-a24452a1b59d\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/69ad0770-f158-44fb-be8d-66b497c7f7f7\n\n###
Suggesting variable assignment in `ENRICH ...
WITH`\n**Before**\n\n\nhttps://github.com/user-attachments/assets/fec47b6d-eae5-44e8-b739-9b2eecc7458b\n\n\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/dff5afe1-37e7-470b-bb9c-edb5ac87e76d\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\n\n---------\n\nCo-authored-by: kibanamachine
<[email protected]>","sha":"c77cd800703b319ee19bc1cae733f1f6fdd4f513"}},"sourceBranch":"main","suggestedTargetBranches":["8.15"],"targetPullRequestStates":[{"branch":"8.15","label":"v8.15.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.16.0","labelRegex":"^v8.16.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/188877","number":188877,"mergeCommit":{"message":"[ES|QL]
Improve support for `Invoke` completion trigger kind (#188877)\n\n##
Summary\n\nResolve
https://github.com/elastic/kibana/issues/188677\n\nThis PR extends our
support for Monaco's \"Invoke\" completion
trigger\nkind\n([ref](https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionTriggerKind.html)).\n\nWhat
this means for the user is that suggestions are now shown when the\nuser
types a character in a word even if the suggestion menu isn't\nalready
open. This situation often occurs when the user is editing a\nquery. For
example, they may follow a flow like this:\n\n1. `FROM my-index | LIMIT
10<cursor-here>`\n2. `FROM <cursor-here> | LIMIT 10` (deleted the index
name)\n3. `FROM k<cursor-here> | LIMIT 10` (types the first character of
the\nindex name)\n\nPreviously, they wouldn't get any help. Now, we show
the list of\nsuggestions.\n\nThe following table shows the cases that I
considered as well as the\nones that are now fixed. I also added test
coverage, even for cases that\nworked before to prevent subtle
regressions.\n\n| | Before | After
|\n\n|------------------------------|------------------------------------------|-----------------------|\n|
Source command | ✅ | ✅ |\n| Pipe command | ❌ | ✅ |\n| Function argument
| ✅ | ✅ |\n| FROM source | ❌ | ✅ |\n| FROM source METADATA | ✅ | ✅ |\n|
FROM source METADATA field | ❌ (for `_`) | ✅ |\n| EVAL argument | ✅ | ✅
|\n| DISSECT field | ✅ | ✅ |\n| DISSECT field pattern | ❌ | ❌ |\n| DROP
field | ✅ | ✅ |\n| DROP field1, field2 | ❌ | ✅ |\n| ENRICH policy | ✅ |
✅ |\n| ENRICH policy ON | ✅ | ✅ |\n| ENRICH policy ON field | ✅ | ✅ |\n|
ENRICH policy WITH | ✅ | ✅ |\n| ENRICH policy WITH field | ✅ | ✅ |\n|
GROK field | ✅ | ✅ |\n| GROK field pattern | ❌ | ❌ |\n| KEEP field | ✅ |
✅ |\n| KEEP field1, field2 | ❌ | ✅ |\n| LIMIT number | ❌ | ❌ |\n|
MV_EXPAND field | ✅ | ✅ |\n| RENAME field | ✅ | ✅ |\n| RENAME field AS |
❌ | ✅ |\n| RENAME field AS var0 | ✅ | ✅ |\n| SORT field | ✅ | ✅ |\n|
SORT field order | ✅ | ✅ |\n| SORT field order nulls-order | ✅ | ✅ |\n|
STATS argument | ✅ | ✅ |\n| STATS argument BY | ✅ | ✅ |\n| STATS
argument BY expression | ✅ | ✅ |\n| WHERE argument | ✅ | ✅ |\n| WHERE
argument comparison | ✅ | ✅ |\n\nAs I worked, I encountered a couple
small bugs which I also fixed.\n\n### Escaping field values in
`ENRICH`\n\n**Before**\n\n\nhttps://github.com/user-attachments/assets/88f2bf35-a703-4cf4-8d45-a24452a1b59d\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/69ad0770-f158-44fb-be8d-66b497c7f7f7\n\n###
Suggesting variable assignment in `ENRICH ...
WITH`\n**Before**\n\n\nhttps://github.com/user-attachments/assets/fec47b6d-eae5-44e8-b739-9b2eecc7458b\n\n\n\n**After**\n\n\nhttps://github.com/user-attachments/assets/dff5afe1-37e7-470b-bb9c-edb5ac87e76d\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\n\n---------\n\nCo-authored-by: kibanamachine
<[email protected]>","sha":"c77cd800703b319ee19bc1cae733f1f6fdd4f513"}}]}]
BACKPORT-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:ES|QL ES|QL related features in Kibana impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. Team:ESQL ES|QL related features in Kibana usability
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants