[ES|QL] Update grammars (#219340)

This PR updates the ES|QL grammars (lexer and parser) to match the
latest version in Elasticsearch.

---------

Co-authored-by: drewdaemon <drew.tate@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
Kibana Machine 2025-04-29 07:24:24 +02:00 committed by GitHub
parent 27201e5651
commit 95561d6a0b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 2118 additions and 1984 deletions

File diff suppressed because one or more lines are too long

View file

@ -15,127 +15,128 @@ WHERE=14
DEV_COMPLETION=15
DEV_INLINESTATS=16
DEV_RERANK=17
FROM=18
DEV_TIME_SERIES=19
DEV_FORK=20
JOIN_LOOKUP=21
DEV_JOIN_FULL=22
DEV_JOIN_LEFT=23
DEV_JOIN_RIGHT=24
DEV_LOOKUP=25
MV_EXPAND=26
DROP=27
KEEP=28
DEV_INSIST=29
DEV_RRF=30
RENAME=31
SHOW=32
UNKNOWN_CMD=33
CHANGE_POINT_LINE_COMMENT=34
CHANGE_POINT_MULTILINE_COMMENT=35
CHANGE_POINT_WS=36
ENRICH_POLICY_NAME=37
ENRICH_LINE_COMMENT=38
ENRICH_MULTILINE_COMMENT=39
ENRICH_WS=40
ENRICH_FIELD_LINE_COMMENT=41
ENRICH_FIELD_MULTILINE_COMMENT=42
ENRICH_FIELD_WS=43
SETTING=44
SETTING_LINE_COMMENT=45
SETTTING_MULTILINE_COMMENT=46
SETTING_WS=47
EXPLAIN_WS=48
EXPLAIN_LINE_COMMENT=49
EXPLAIN_MULTILINE_COMMENT=50
PIPE=51
QUOTED_STRING=52
INTEGER_LITERAL=53
DECIMAL_LITERAL=54
AND=55
AS=56
ASC=57
ASSIGN=58
BY=59
CAST_OP=60
COLON=61
COMMA=62
DESC=63
DOT=64
FALSE=65
FIRST=66
IN=67
IS=68
LAST=69
LIKE=70
NOT=71
NULL=72
NULLS=73
ON=74
OR=75
PARAM=76
RLIKE=77
TRUE=78
WITH=79
EQ=80
CIEQ=81
NEQ=82
LT=83
LTE=84
GT=85
GTE=86
PLUS=87
MINUS=88
ASTERISK=89
SLASH=90
PERCENT=91
LEFT_BRACES=92
RIGHT_BRACES=93
DOUBLE_PARAMS=94
NAMED_OR_POSITIONAL_PARAM=95
NAMED_OR_POSITIONAL_DOUBLE_PARAMS=96
OPENING_BRACKET=97
CLOSING_BRACKET=98
LP=99
RP=100
UNQUOTED_IDENTIFIER=101
QUOTED_IDENTIFIER=102
EXPR_LINE_COMMENT=103
EXPR_MULTILINE_COMMENT=104
EXPR_WS=105
METADATA=106
UNQUOTED_SOURCE=107
FROM_LINE_COMMENT=108
FROM_MULTILINE_COMMENT=109
FROM_WS=110
FORK_WS=111
FORK_LINE_COMMENT=112
FORK_MULTILINE_COMMENT=113
JOIN=114
USING=115
JOIN_LINE_COMMENT=116
JOIN_MULTILINE_COMMENT=117
JOIN_WS=118
LOOKUP_LINE_COMMENT=119
LOOKUP_MULTILINE_COMMENT=120
LOOKUP_WS=121
LOOKUP_FIELD_LINE_COMMENT=122
LOOKUP_FIELD_MULTILINE_COMMENT=123
LOOKUP_FIELD_WS=124
MVEXPAND_LINE_COMMENT=125
MVEXPAND_MULTILINE_COMMENT=126
MVEXPAND_WS=127
ID_PATTERN=128
PROJECT_LINE_COMMENT=129
PROJECT_MULTILINE_COMMENT=130
PROJECT_WS=131
RENAME_LINE_COMMENT=132
RENAME_MULTILINE_COMMENT=133
RENAME_WS=134
INFO=135
SHOW_LINE_COMMENT=136
SHOW_MULTILINE_COMMENT=137
SHOW_WS=138
DEV_SAMPLE=18
FROM=19
DEV_TIME_SERIES=20
DEV_FORK=21
JOIN_LOOKUP=22
DEV_JOIN_FULL=23
DEV_JOIN_LEFT=24
DEV_JOIN_RIGHT=25
DEV_LOOKUP=26
MV_EXPAND=27
DROP=28
KEEP=29
DEV_INSIST=30
DEV_RRF=31
RENAME=32
SHOW=33
UNKNOWN_CMD=34
CHANGE_POINT_LINE_COMMENT=35
CHANGE_POINT_MULTILINE_COMMENT=36
CHANGE_POINT_WS=37
ENRICH_POLICY_NAME=38
ENRICH_LINE_COMMENT=39
ENRICH_MULTILINE_COMMENT=40
ENRICH_WS=41
ENRICH_FIELD_LINE_COMMENT=42
ENRICH_FIELD_MULTILINE_COMMENT=43
ENRICH_FIELD_WS=44
SETTING=45
SETTING_LINE_COMMENT=46
SETTTING_MULTILINE_COMMENT=47
SETTING_WS=48
EXPLAIN_WS=49
EXPLAIN_LINE_COMMENT=50
EXPLAIN_MULTILINE_COMMENT=51
PIPE=52
QUOTED_STRING=53
INTEGER_LITERAL=54
DECIMAL_LITERAL=55
AND=56
AS=57
ASC=58
ASSIGN=59
BY=60
CAST_OP=61
COLON=62
COMMA=63
DESC=64
DOT=65
FALSE=66
FIRST=67
IN=68
IS=69
LAST=70
LIKE=71
NOT=72
NULL=73
NULLS=74
ON=75
OR=76
PARAM=77
RLIKE=78
TRUE=79
WITH=80
EQ=81
CIEQ=82
NEQ=83
LT=84
LTE=85
GT=86
GTE=87
PLUS=88
MINUS=89
ASTERISK=90
SLASH=91
PERCENT=92
LEFT_BRACES=93
RIGHT_BRACES=94
DOUBLE_PARAMS=95
NAMED_OR_POSITIONAL_PARAM=96
NAMED_OR_POSITIONAL_DOUBLE_PARAMS=97
OPENING_BRACKET=98
CLOSING_BRACKET=99
LP=100
RP=101
UNQUOTED_IDENTIFIER=102
QUOTED_IDENTIFIER=103
EXPR_LINE_COMMENT=104
EXPR_MULTILINE_COMMENT=105
EXPR_WS=106
METADATA=107
UNQUOTED_SOURCE=108
FROM_LINE_COMMENT=109
FROM_MULTILINE_COMMENT=110
FROM_WS=111
FORK_WS=112
FORK_LINE_COMMENT=113
FORK_MULTILINE_COMMENT=114
JOIN=115
USING=116
JOIN_LINE_COMMENT=117
JOIN_MULTILINE_COMMENT=118
JOIN_WS=119
LOOKUP_LINE_COMMENT=120
LOOKUP_MULTILINE_COMMENT=121
LOOKUP_WS=122
LOOKUP_FIELD_LINE_COMMENT=123
LOOKUP_FIELD_MULTILINE_COMMENT=124
LOOKUP_FIELD_WS=125
MVEXPAND_LINE_COMMENT=126
MVEXPAND_MULTILINE_COMMENT=127
MVEXPAND_WS=128
ID_PATTERN=129
PROJECT_LINE_COMMENT=130
PROJECT_MULTILINE_COMMENT=131
PROJECT_WS=132
RENAME_LINE_COMMENT=133
RENAME_MULTILINE_COMMENT=134
RENAME_WS=135
INFO=136
SHOW_LINE_COMMENT=137
SHOW_MULTILINE_COMMENT=138
SHOW_WS=139
'change_point'=4
'enrich'=5
'explain'=6
@ -147,57 +148,57 @@ SHOW_WS=138
'sort'=12
'stats'=13
'where'=14
'from'=18
'lookup'=21
'mv_expand'=26
'drop'=27
'keep'=28
'rename'=31
'show'=32
'|'=51
'and'=55
'as'=56
'asc'=57
'='=58
'by'=59
'::'=60
':'=61
','=62
'desc'=63
'.'=64
'false'=65
'first'=66
'in'=67
'is'=68
'last'=69
'like'=70
'not'=71
'null'=72
'nulls'=73
'on'=74
'or'=75
'?'=76
'rlike'=77
'true'=78
'with'=79
'=='=80
'=~'=81
'!='=82
'<'=83
'<='=84
'>'=85
'>='=86
'+'=87
'-'=88
'*'=89
'/'=90
'%'=91
'{'=92
'}'=93
'??'=94
']'=98
')'=100
'metadata'=106
'join'=114
'USING'=115
'info'=135
'from'=19
'lookup'=22
'mv_expand'=27
'drop'=28
'keep'=29
'rename'=32
'show'=33
'|'=52
'and'=56
'as'=57
'asc'=58
'='=59
'by'=60
'::'=61
':'=62
','=63
'desc'=64
'.'=65
'false'=66
'first'=67
'in'=68
'is'=69
'last'=70
'like'=71
'not'=72
'null'=73
'nulls'=74
'on'=75
'or'=76
'?'=77
'rlike'=78
'true'=79
'with'=80
'=='=81
'=~'=82
'!='=83
'<'=84
'<='=85
'>'=86
'>='=87
'+'=88
'-'=89
'*'=90
'/'=91
'%'=92
'{'=93
'}'=94
'??'=95
']'=99
')'=101
'metadata'=107
'join'=115
'USING'=116
'info'=136

View file

@ -66,6 +66,7 @@ processingCommand
| {this.isDevVersion()}? forkCommand
| {this.isDevVersion()}? rerankCommand
| {this.isDevVersion()}? rrfCommand
| {this.isDevVersion()}? sampleCommand
;
whereCommand
@ -302,4 +303,8 @@ rerankCommand
completionCommand
: DEV_COMPLETION prompt=primaryExpression WITH inferenceId=identifierOrParameter (AS targetField=qualifiedName)?
;
sampleCommand
: DEV_SAMPLE probability=decimalValue seed=integerValue?
;

File diff suppressed because one or more lines are too long

View file

@ -15,127 +15,128 @@ WHERE=14
DEV_COMPLETION=15
DEV_INLINESTATS=16
DEV_RERANK=17
FROM=18
DEV_TIME_SERIES=19
DEV_FORK=20
JOIN_LOOKUP=21
DEV_JOIN_FULL=22
DEV_JOIN_LEFT=23
DEV_JOIN_RIGHT=24
DEV_LOOKUP=25
MV_EXPAND=26
DROP=27
KEEP=28
DEV_INSIST=29
DEV_RRF=30
RENAME=31
SHOW=32
UNKNOWN_CMD=33
CHANGE_POINT_LINE_COMMENT=34
CHANGE_POINT_MULTILINE_COMMENT=35
CHANGE_POINT_WS=36
ENRICH_POLICY_NAME=37
ENRICH_LINE_COMMENT=38
ENRICH_MULTILINE_COMMENT=39
ENRICH_WS=40
ENRICH_FIELD_LINE_COMMENT=41
ENRICH_FIELD_MULTILINE_COMMENT=42
ENRICH_FIELD_WS=43
SETTING=44
SETTING_LINE_COMMENT=45
SETTTING_MULTILINE_COMMENT=46
SETTING_WS=47
EXPLAIN_WS=48
EXPLAIN_LINE_COMMENT=49
EXPLAIN_MULTILINE_COMMENT=50
PIPE=51
QUOTED_STRING=52
INTEGER_LITERAL=53
DECIMAL_LITERAL=54
AND=55
AS=56
ASC=57
ASSIGN=58
BY=59
CAST_OP=60
COLON=61
COMMA=62
DESC=63
DOT=64
FALSE=65
FIRST=66
IN=67
IS=68
LAST=69
LIKE=70
NOT=71
NULL=72
NULLS=73
ON=74
OR=75
PARAM=76
RLIKE=77
TRUE=78
WITH=79
EQ=80
CIEQ=81
NEQ=82
LT=83
LTE=84
GT=85
GTE=86
PLUS=87
MINUS=88
ASTERISK=89
SLASH=90
PERCENT=91
LEFT_BRACES=92
RIGHT_BRACES=93
DOUBLE_PARAMS=94
NAMED_OR_POSITIONAL_PARAM=95
NAMED_OR_POSITIONAL_DOUBLE_PARAMS=96
OPENING_BRACKET=97
CLOSING_BRACKET=98
LP=99
RP=100
UNQUOTED_IDENTIFIER=101
QUOTED_IDENTIFIER=102
EXPR_LINE_COMMENT=103
EXPR_MULTILINE_COMMENT=104
EXPR_WS=105
METADATA=106
UNQUOTED_SOURCE=107
FROM_LINE_COMMENT=108
FROM_MULTILINE_COMMENT=109
FROM_WS=110
FORK_WS=111
FORK_LINE_COMMENT=112
FORK_MULTILINE_COMMENT=113
JOIN=114
USING=115
JOIN_LINE_COMMENT=116
JOIN_MULTILINE_COMMENT=117
JOIN_WS=118
LOOKUP_LINE_COMMENT=119
LOOKUP_MULTILINE_COMMENT=120
LOOKUP_WS=121
LOOKUP_FIELD_LINE_COMMENT=122
LOOKUP_FIELD_MULTILINE_COMMENT=123
LOOKUP_FIELD_WS=124
MVEXPAND_LINE_COMMENT=125
MVEXPAND_MULTILINE_COMMENT=126
MVEXPAND_WS=127
ID_PATTERN=128
PROJECT_LINE_COMMENT=129
PROJECT_MULTILINE_COMMENT=130
PROJECT_WS=131
RENAME_LINE_COMMENT=132
RENAME_MULTILINE_COMMENT=133
RENAME_WS=134
INFO=135
SHOW_LINE_COMMENT=136
SHOW_MULTILINE_COMMENT=137
SHOW_WS=138
DEV_SAMPLE=18
FROM=19
DEV_TIME_SERIES=20
DEV_FORK=21
JOIN_LOOKUP=22
DEV_JOIN_FULL=23
DEV_JOIN_LEFT=24
DEV_JOIN_RIGHT=25
DEV_LOOKUP=26
MV_EXPAND=27
DROP=28
KEEP=29
DEV_INSIST=30
DEV_RRF=31
RENAME=32
SHOW=33
UNKNOWN_CMD=34
CHANGE_POINT_LINE_COMMENT=35
CHANGE_POINT_MULTILINE_COMMENT=36
CHANGE_POINT_WS=37
ENRICH_POLICY_NAME=38
ENRICH_LINE_COMMENT=39
ENRICH_MULTILINE_COMMENT=40
ENRICH_WS=41
ENRICH_FIELD_LINE_COMMENT=42
ENRICH_FIELD_MULTILINE_COMMENT=43
ENRICH_FIELD_WS=44
SETTING=45
SETTING_LINE_COMMENT=46
SETTTING_MULTILINE_COMMENT=47
SETTING_WS=48
EXPLAIN_WS=49
EXPLAIN_LINE_COMMENT=50
EXPLAIN_MULTILINE_COMMENT=51
PIPE=52
QUOTED_STRING=53
INTEGER_LITERAL=54
DECIMAL_LITERAL=55
AND=56
AS=57
ASC=58
ASSIGN=59
BY=60
CAST_OP=61
COLON=62
COMMA=63
DESC=64
DOT=65
FALSE=66
FIRST=67
IN=68
IS=69
LAST=70
LIKE=71
NOT=72
NULL=73
NULLS=74
ON=75
OR=76
PARAM=77
RLIKE=78
TRUE=79
WITH=80
EQ=81
CIEQ=82
NEQ=83
LT=84
LTE=85
GT=86
GTE=87
PLUS=88
MINUS=89
ASTERISK=90
SLASH=91
PERCENT=92
LEFT_BRACES=93
RIGHT_BRACES=94
DOUBLE_PARAMS=95
NAMED_OR_POSITIONAL_PARAM=96
NAMED_OR_POSITIONAL_DOUBLE_PARAMS=97
OPENING_BRACKET=98
CLOSING_BRACKET=99
LP=100
RP=101
UNQUOTED_IDENTIFIER=102
QUOTED_IDENTIFIER=103
EXPR_LINE_COMMENT=104
EXPR_MULTILINE_COMMENT=105
EXPR_WS=106
METADATA=107
UNQUOTED_SOURCE=108
FROM_LINE_COMMENT=109
FROM_MULTILINE_COMMENT=110
FROM_WS=111
FORK_WS=112
FORK_LINE_COMMENT=113
FORK_MULTILINE_COMMENT=114
JOIN=115
USING=116
JOIN_LINE_COMMENT=117
JOIN_MULTILINE_COMMENT=118
JOIN_WS=119
LOOKUP_LINE_COMMENT=120
LOOKUP_MULTILINE_COMMENT=121
LOOKUP_WS=122
LOOKUP_FIELD_LINE_COMMENT=123
LOOKUP_FIELD_MULTILINE_COMMENT=124
LOOKUP_FIELD_WS=125
MVEXPAND_LINE_COMMENT=126
MVEXPAND_MULTILINE_COMMENT=127
MVEXPAND_WS=128
ID_PATTERN=129
PROJECT_LINE_COMMENT=130
PROJECT_MULTILINE_COMMENT=131
PROJECT_WS=132
RENAME_LINE_COMMENT=133
RENAME_MULTILINE_COMMENT=134
RENAME_WS=135
INFO=136
SHOW_LINE_COMMENT=137
SHOW_MULTILINE_COMMENT=138
SHOW_WS=139
'change_point'=4
'enrich'=5
'explain'=6
@ -147,57 +148,57 @@ SHOW_WS=138
'sort'=12
'stats'=13
'where'=14
'from'=18
'lookup'=21
'mv_expand'=26
'drop'=27
'keep'=28
'rename'=31
'show'=32
'|'=51
'and'=55
'as'=56
'asc'=57
'='=58
'by'=59
'::'=60
':'=61
','=62
'desc'=63
'.'=64
'false'=65
'first'=66
'in'=67
'is'=68
'last'=69
'like'=70
'not'=71
'null'=72
'nulls'=73
'on'=74
'or'=75
'?'=76
'rlike'=77
'true'=78
'with'=79
'=='=80
'=~'=81
'!='=82
'<'=83
'<='=84
'>'=85
'>='=86
'+'=87
'-'=88
'*'=89
'/'=90
'%'=91
'{'=92
'}'=93
'??'=94
']'=98
')'=100
'metadata'=106
'join'=114
'USING'=115
'info'=135
'from'=19
'lookup'=22
'mv_expand'=27
'drop'=28
'keep'=29
'rename'=32
'show'=33
'|'=52
'and'=56
'as'=57
'asc'=58
'='=59
'by'=60
'::'=61
':'=62
','=63
'desc'=64
'.'=65
'false'=66
'first'=67
'in'=68
'is'=69
'last'=70
'like'=71
'not'=72
'null'=73
'nulls'=74
'on'=75
'or'=76
'?'=77
'rlike'=78
'true'=79
'with'=80
'=='=81
'=~'=82
'!='=83
'<'=84
'<='=85
'>'=86
'>='=87
'+'=88
'-'=89
'*'=90
'/'=91
'%'=92
'{'=93
'}'=94
'??'=95
']'=99
')'=101
'metadata'=107
'join'=115
'USING'=116
'info'=136

View file

@ -73,6 +73,7 @@ import { ForkSubQueryProcessingCommandContext } from "./esql_parser.js";
import { RrfCommandContext } from "./esql_parser.js";
import { RerankCommandContext } from "./esql_parser.js";
import { CompletionCommandContext } from "./esql_parser.js";
import { SampleCommandContext } from "./esql_parser.js";
import { MatchExpressionContext } from "./esql_parser.js";
import { LogicalNotContext } from "./esql_parser.js";
import { BooleanDefaultContext } from "./esql_parser.js";
@ -763,6 +764,16 @@ export default class esql_parserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
exitCompletionCommand?: (ctx: CompletionCommandContext) => void;
/**
* Enter a parse tree produced by `esql_parser.sampleCommand`.
* @param ctx the parse tree
*/
enterSampleCommand?: (ctx: SampleCommandContext) => void;
/**
* Exit a parse tree produced by `esql_parser.sampleCommand`.
* @param ctx the parse tree
*/
exitSampleCommand?: (ctx: SampleCommandContext) => void;
/**
* Enter a parse tree produced by the `matchExpression`
* labeled alternative in `esql_parser.booleanExpression`.

View file

@ -18,9 +18,10 @@ SORT : 'sort' -> pushMode(EXPRESSION_MODE);
STATS : 'stats' -> pushMode(EXPRESSION_MODE);
WHERE : 'where' -> pushMode(EXPRESSION_MODE);
DEV_COMPLETION : {this.isDevVersion()}? 'completion' -> pushMode(EXPRESSION_MODE);
DEV_INLINESTATS : {this.isDevVersion()}? 'inlinestats' -> pushMode(EXPRESSION_MODE);
DEV_RERANK : {this.isDevVersion()}? 'rerank' -> pushMode(EXPRESSION_MODE);
DEV_COMPLETION : {this.isDevVersion()}? 'completion' -> pushMode(EXPRESSION_MODE);
DEV_INLINESTATS : {this.isDevVersion()}? 'inlinestats' -> pushMode(EXPRESSION_MODE);
DEV_RERANK : {this.isDevVersion()}? 'rerank' -> pushMode(EXPRESSION_MODE);
DEV_SAMPLE : {this.isDevVersion()}? 'sample' -> pushMode(EXPRESSION_MODE);
mode EXPRESSION_MODE;

View file

@ -54,6 +54,7 @@ export const buildESQLTheme = ({
'dev_time_series',
'dev_rerank',
'dev_fork',
'dev_sample',
'metadata',
'mv_expand',
'stats',