You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend the unquoted identifier to contain . not just numbers. Without it
the lexer picks the characters as decimal literal which leads to errors
Fixelastic#100312
Extend the unquoted identifier to contain . not just numbers. Without it
the lexer picks the characters as decimal literal which leads to errors
Additionally fix a bug in quoting identifiers.
Fix#100312
Elasticsearch Version
8.11.0-SNAPSHOT
Installed Plugins
No response
Java Version
bundled
OS Version
Darwin MacBook-Pro.local 22.6.0 Darwin Kernel Version 22.6.0: Fri Sep 15 13:41:28 PDT 2023; root:xnu-8796.141.3.700.8~1/RELEASE_ARM64_T6000 arm64
Problem Description
If a field name starts with a leading digit, ES|QL commands sometimes accept it and other times error on it.
I expect the field name to be handled consistently between all commands.
For a real-world example, take Elasticsearch's own stack monitoring:
The child field
1m
is what causes errors.Steps to Reproduce
Take a mapping that uses fields with leading numbers. Elasticsearch's stack monitoring has
*.load_average.1m
as a good starting point.SORT
Use a base query to see the data does exist, and ES|QL can retrieve it:
Now add a
sort
clause, and see it error on the.1
portion of the field name:STATS ... BY
Use
stats
onnode_stats.process.cpu.percent
and it works:Use
stats
onelasticsearch.node.stats.os.cpu.load_avg.1m
and it fails:RENAME
If you first
rename
the field,sort
andstats
work:Autocomplete
The field also breaks autocomplete. If you use autocomplete before the numerical field it works:
But after the field, it fails:
Logs (if relevant)
Logs for ailure on
sort
:Logs for failure on
stats ... by
:The text was updated successfully, but these errors were encountered: