mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
Update ES|QL grammars
This commit is contained in:
parent
d970ca5eea
commit
9ef9b6b350
17 changed files with 2522 additions and 1956 deletions
|
@ -67,6 +67,7 @@ import ChangePoint,
|
|||
Metrics,
|
||||
MvExpand,
|
||||
Project,
|
||||
Rrf,
|
||||
Rename,
|
||||
Show,
|
||||
UnknownCommand;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -25,118 +25,121 @@ MV_EXPAND=24
|
|||
DROP=25
|
||||
KEEP=26
|
||||
DEV_INSIST=27
|
||||
RENAME=28
|
||||
SHOW=29
|
||||
UNKNOWN_CMD=30
|
||||
CHANGE_POINT_LINE_COMMENT=31
|
||||
CHANGE_POINT_MULTILINE_COMMENT=32
|
||||
CHANGE_POINT_WS=33
|
||||
ON=34
|
||||
WITH=35
|
||||
ENRICH_POLICY_NAME=36
|
||||
ENRICH_LINE_COMMENT=37
|
||||
ENRICH_MULTILINE_COMMENT=38
|
||||
ENRICH_WS=39
|
||||
ENRICH_FIELD_LINE_COMMENT=40
|
||||
ENRICH_FIELD_MULTILINE_COMMENT=41
|
||||
ENRICH_FIELD_WS=42
|
||||
SETTING=43
|
||||
SETTING_LINE_COMMENT=44
|
||||
SETTTING_MULTILINE_COMMENT=45
|
||||
SETTING_WS=46
|
||||
EXPLAIN_WS=47
|
||||
EXPLAIN_LINE_COMMENT=48
|
||||
EXPLAIN_MULTILINE_COMMENT=49
|
||||
PIPE=50
|
||||
QUOTED_STRING=51
|
||||
INTEGER_LITERAL=52
|
||||
DECIMAL_LITERAL=53
|
||||
BY=54
|
||||
AND=55
|
||||
ASC=56
|
||||
ASSIGN=57
|
||||
CAST_OP=58
|
||||
COLON=59
|
||||
COMMA=60
|
||||
DESC=61
|
||||
DOT=62
|
||||
FALSE=63
|
||||
FIRST=64
|
||||
IN=65
|
||||
IS=66
|
||||
LAST=67
|
||||
LIKE=68
|
||||
NOT=69
|
||||
NULL=70
|
||||
NULLS=71
|
||||
OR=72
|
||||
PARAM=73
|
||||
RLIKE=74
|
||||
TRUE=75
|
||||
EQ=76
|
||||
CIEQ=77
|
||||
NEQ=78
|
||||
LT=79
|
||||
LTE=80
|
||||
GT=81
|
||||
GTE=82
|
||||
PLUS=83
|
||||
MINUS=84
|
||||
ASTERISK=85
|
||||
SLASH=86
|
||||
PERCENT=87
|
||||
LEFT_BRACES=88
|
||||
RIGHT_BRACES=89
|
||||
NAMED_OR_POSITIONAL_PARAM=90
|
||||
OPENING_BRACKET=91
|
||||
CLOSING_BRACKET=92
|
||||
LP=93
|
||||
RP=94
|
||||
UNQUOTED_IDENTIFIER=95
|
||||
QUOTED_IDENTIFIER=96
|
||||
EXPR_LINE_COMMENT=97
|
||||
EXPR_MULTILINE_COMMENT=98
|
||||
EXPR_WS=99
|
||||
METADATA=100
|
||||
UNQUOTED_SOURCE=101
|
||||
FROM_LINE_COMMENT=102
|
||||
FROM_MULTILINE_COMMENT=103
|
||||
FROM_WS=104
|
||||
FORK_WS=105
|
||||
FORK_LINE_COMMENT=106
|
||||
FORK_MULTILINE_COMMENT=107
|
||||
JOIN=108
|
||||
USING=109
|
||||
JOIN_LINE_COMMENT=110
|
||||
JOIN_MULTILINE_COMMENT=111
|
||||
JOIN_WS=112
|
||||
LOOKUP_LINE_COMMENT=113
|
||||
LOOKUP_MULTILINE_COMMENT=114
|
||||
LOOKUP_WS=115
|
||||
LOOKUP_FIELD_LINE_COMMENT=116
|
||||
LOOKUP_FIELD_MULTILINE_COMMENT=117
|
||||
LOOKUP_FIELD_WS=118
|
||||
METRICS_LINE_COMMENT=119
|
||||
METRICS_MULTILINE_COMMENT=120
|
||||
METRICS_WS=121
|
||||
CLOSING_METRICS_LINE_COMMENT=122
|
||||
CLOSING_METRICS_MULTILINE_COMMENT=123
|
||||
CLOSING_METRICS_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
|
||||
AS=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
|
||||
DEV_RRF=28
|
||||
RENAME=29
|
||||
SHOW=30
|
||||
UNKNOWN_CMD=31
|
||||
CHANGE_POINT_LINE_COMMENT=32
|
||||
CHANGE_POINT_MULTILINE_COMMENT=33
|
||||
CHANGE_POINT_WS=34
|
||||
ON=35
|
||||
WITH=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
|
||||
BY=55
|
||||
AND=56
|
||||
ASC=57
|
||||
ASSIGN=58
|
||||
CAST_OP=59
|
||||
COLON=60
|
||||
COMMA=61
|
||||
DESC=62
|
||||
DOT=63
|
||||
FALSE=64
|
||||
FIRST=65
|
||||
IN=66
|
||||
IS=67
|
||||
LAST=68
|
||||
LIKE=69
|
||||
NOT=70
|
||||
NULL=71
|
||||
NULLS=72
|
||||
OR=73
|
||||
PARAM=74
|
||||
RLIKE=75
|
||||
TRUE=76
|
||||
EQ=77
|
||||
CIEQ=78
|
||||
NEQ=79
|
||||
LT=80
|
||||
LTE=81
|
||||
GT=82
|
||||
GTE=83
|
||||
PLUS=84
|
||||
MINUS=85
|
||||
ASTERISK=86
|
||||
SLASH=87
|
||||
PERCENT=88
|
||||
LEFT_BRACES=89
|
||||
RIGHT_BRACES=90
|
||||
DOUBLE_PARAMS=91
|
||||
NAMED_OR_POSITIONAL_PARAM=92
|
||||
NAMED_OR_POSITIONAL_DOUBLE_PARAMS=93
|
||||
OPENING_BRACKET=94
|
||||
CLOSING_BRACKET=95
|
||||
LP=96
|
||||
RP=97
|
||||
UNQUOTED_IDENTIFIER=98
|
||||
QUOTED_IDENTIFIER=99
|
||||
EXPR_LINE_COMMENT=100
|
||||
EXPR_MULTILINE_COMMENT=101
|
||||
EXPR_WS=102
|
||||
METADATA=103
|
||||
UNQUOTED_SOURCE=104
|
||||
FROM_LINE_COMMENT=105
|
||||
FROM_MULTILINE_COMMENT=106
|
||||
FROM_WS=107
|
||||
FORK_WS=108
|
||||
FORK_LINE_COMMENT=109
|
||||
FORK_MULTILINE_COMMENT=110
|
||||
JOIN=111
|
||||
USING=112
|
||||
JOIN_LINE_COMMENT=113
|
||||
JOIN_MULTILINE_COMMENT=114
|
||||
JOIN_WS=115
|
||||
LOOKUP_LINE_COMMENT=116
|
||||
LOOKUP_MULTILINE_COMMENT=117
|
||||
LOOKUP_WS=118
|
||||
LOOKUP_FIELD_LINE_COMMENT=119
|
||||
LOOKUP_FIELD_MULTILINE_COMMENT=120
|
||||
LOOKUP_FIELD_WS=121
|
||||
METRICS_LINE_COMMENT=122
|
||||
METRICS_MULTILINE_COMMENT=123
|
||||
METRICS_WS=124
|
||||
CLOSING_METRICS_LINE_COMMENT=125
|
||||
CLOSING_METRICS_MULTILINE_COMMENT=126
|
||||
CLOSING_METRICS_WS=127
|
||||
MVEXPAND_LINE_COMMENT=128
|
||||
MVEXPAND_MULTILINE_COMMENT=129
|
||||
MVEXPAND_WS=130
|
||||
ID_PATTERN=131
|
||||
PROJECT_LINE_COMMENT=132
|
||||
PROJECT_MULTILINE_COMMENT=133
|
||||
PROJECT_WS=134
|
||||
AS=135
|
||||
RENAME_LINE_COMMENT=136
|
||||
RENAME_MULTILINE_COMMENT=137
|
||||
RENAME_WS=138
|
||||
INFO=139
|
||||
SHOW_LINE_COMMENT=140
|
||||
SHOW_MULTILINE_COMMENT=141
|
||||
SHOW_WS=142
|
||||
'enrich'=5
|
||||
'explain'=6
|
||||
'dissect'=7
|
||||
|
@ -152,51 +155,51 @@ SHOW_WS=139
|
|||
'mv_expand'=24
|
||||
'drop'=25
|
||||
'keep'=26
|
||||
'rename'=28
|
||||
'show'=29
|
||||
'on'=34
|
||||
'with'=35
|
||||
'|'=50
|
||||
'by'=54
|
||||
'and'=55
|
||||
'asc'=56
|
||||
'='=57
|
||||
'::'=58
|
||||
':'=59
|
||||
','=60
|
||||
'desc'=61
|
||||
'.'=62
|
||||
'false'=63
|
||||
'first'=64
|
||||
'in'=65
|
||||
'is'=66
|
||||
'last'=67
|
||||
'like'=68
|
||||
'not'=69
|
||||
'null'=70
|
||||
'nulls'=71
|
||||
'or'=72
|
||||
'?'=73
|
||||
'rlike'=74
|
||||
'true'=75
|
||||
'=='=76
|
||||
'=~'=77
|
||||
'!='=78
|
||||
'<'=79
|
||||
'<='=80
|
||||
'>'=81
|
||||
'>='=82
|
||||
'+'=83
|
||||
'-'=84
|
||||
'*'=85
|
||||
'/'=86
|
||||
'%'=87
|
||||
'{'=88
|
||||
'}'=89
|
||||
']'=92
|
||||
')'=94
|
||||
'metadata'=100
|
||||
'join'=108
|
||||
'USING'=109
|
||||
'as'=132
|
||||
'info'=136
|
||||
'rename'=29
|
||||
'show'=30
|
||||
'on'=35
|
||||
'with'=36
|
||||
'|'=51
|
||||
'by'=55
|
||||
'and'=56
|
||||
'asc'=57
|
||||
'='=58
|
||||
'::'=59
|
||||
':'=60
|
||||
','=61
|
||||
'desc'=62
|
||||
'.'=63
|
||||
'false'=64
|
||||
'first'=65
|
||||
'in'=66
|
||||
'is'=67
|
||||
'last'=68
|
||||
'like'=69
|
||||
'not'=70
|
||||
'null'=71
|
||||
'nulls'=72
|
||||
'or'=73
|
||||
'?'=74
|
||||
'rlike'=75
|
||||
'true'=76
|
||||
'=='=77
|
||||
'=~'=78
|
||||
'!='=79
|
||||
'<'=80
|
||||
'<='=81
|
||||
'>'=82
|
||||
'>='=83
|
||||
'+'=84
|
||||
'-'=85
|
||||
'*'=86
|
||||
'/'=87
|
||||
'%'=88
|
||||
'{'=89
|
||||
'}'=90
|
||||
']'=95
|
||||
')'=97
|
||||
'metadata'=103
|
||||
'join'=111
|
||||
'USING'=112
|
||||
'as'=135
|
||||
'info'=139
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -63,6 +63,7 @@ processingCommand
|
|||
| {this.isDevVersion()}? changePointCommand
|
||||
| {this.isDevVersion()}? insistCommand
|
||||
| {this.isDevVersion()}? forkCommand
|
||||
| {this.isDevVersion()}? rrfCommand
|
||||
;
|
||||
|
||||
whereCommand
|
||||
|
@ -147,6 +148,7 @@ identifier
|
|||
identifierPattern
|
||||
: ID_PATTERN
|
||||
| parameter
|
||||
| {this.isDevVersion()}? doubleParameter
|
||||
;
|
||||
|
||||
parameter
|
||||
|
@ -154,9 +156,15 @@ parameter
|
|||
| NAMED_OR_POSITIONAL_PARAM #inputNamedOrPositionalParam
|
||||
;
|
||||
|
||||
doubleParameter
|
||||
: DOUBLE_PARAMS #inputDoubleParams
|
||||
| NAMED_OR_POSITIONAL_DOUBLE_PARAMS #inputNamedOrPositionalDoubleParams
|
||||
;
|
||||
|
||||
identifierOrParameter
|
||||
: identifier
|
||||
| parameter
|
||||
| {this.isDevVersion()}? doubleParameter
|
||||
;
|
||||
|
||||
limitCommand
|
||||
|
@ -267,4 +275,8 @@ forkSubQueryProcessingCommand
|
|||
: whereCommand
|
||||
| sortCommand
|
||||
| limitCommand
|
||||
;
|
||||
;
|
||||
|
||||
rrfCommand
|
||||
: DEV_RRF
|
||||
;
|
File diff suppressed because one or more lines are too long
|
@ -25,118 +25,121 @@ MV_EXPAND=24
|
|||
DROP=25
|
||||
KEEP=26
|
||||
DEV_INSIST=27
|
||||
RENAME=28
|
||||
SHOW=29
|
||||
UNKNOWN_CMD=30
|
||||
CHANGE_POINT_LINE_COMMENT=31
|
||||
CHANGE_POINT_MULTILINE_COMMENT=32
|
||||
CHANGE_POINT_WS=33
|
||||
ON=34
|
||||
WITH=35
|
||||
ENRICH_POLICY_NAME=36
|
||||
ENRICH_LINE_COMMENT=37
|
||||
ENRICH_MULTILINE_COMMENT=38
|
||||
ENRICH_WS=39
|
||||
ENRICH_FIELD_LINE_COMMENT=40
|
||||
ENRICH_FIELD_MULTILINE_COMMENT=41
|
||||
ENRICH_FIELD_WS=42
|
||||
SETTING=43
|
||||
SETTING_LINE_COMMENT=44
|
||||
SETTTING_MULTILINE_COMMENT=45
|
||||
SETTING_WS=46
|
||||
EXPLAIN_WS=47
|
||||
EXPLAIN_LINE_COMMENT=48
|
||||
EXPLAIN_MULTILINE_COMMENT=49
|
||||
PIPE=50
|
||||
QUOTED_STRING=51
|
||||
INTEGER_LITERAL=52
|
||||
DECIMAL_LITERAL=53
|
||||
BY=54
|
||||
AND=55
|
||||
ASC=56
|
||||
ASSIGN=57
|
||||
CAST_OP=58
|
||||
COLON=59
|
||||
COMMA=60
|
||||
DESC=61
|
||||
DOT=62
|
||||
FALSE=63
|
||||
FIRST=64
|
||||
IN=65
|
||||
IS=66
|
||||
LAST=67
|
||||
LIKE=68
|
||||
NOT=69
|
||||
NULL=70
|
||||
NULLS=71
|
||||
OR=72
|
||||
PARAM=73
|
||||
RLIKE=74
|
||||
TRUE=75
|
||||
EQ=76
|
||||
CIEQ=77
|
||||
NEQ=78
|
||||
LT=79
|
||||
LTE=80
|
||||
GT=81
|
||||
GTE=82
|
||||
PLUS=83
|
||||
MINUS=84
|
||||
ASTERISK=85
|
||||
SLASH=86
|
||||
PERCENT=87
|
||||
LEFT_BRACES=88
|
||||
RIGHT_BRACES=89
|
||||
NAMED_OR_POSITIONAL_PARAM=90
|
||||
OPENING_BRACKET=91
|
||||
CLOSING_BRACKET=92
|
||||
LP=93
|
||||
RP=94
|
||||
UNQUOTED_IDENTIFIER=95
|
||||
QUOTED_IDENTIFIER=96
|
||||
EXPR_LINE_COMMENT=97
|
||||
EXPR_MULTILINE_COMMENT=98
|
||||
EXPR_WS=99
|
||||
METADATA=100
|
||||
UNQUOTED_SOURCE=101
|
||||
FROM_LINE_COMMENT=102
|
||||
FROM_MULTILINE_COMMENT=103
|
||||
FROM_WS=104
|
||||
FORK_WS=105
|
||||
FORK_LINE_COMMENT=106
|
||||
FORK_MULTILINE_COMMENT=107
|
||||
JOIN=108
|
||||
USING=109
|
||||
JOIN_LINE_COMMENT=110
|
||||
JOIN_MULTILINE_COMMENT=111
|
||||
JOIN_WS=112
|
||||
LOOKUP_LINE_COMMENT=113
|
||||
LOOKUP_MULTILINE_COMMENT=114
|
||||
LOOKUP_WS=115
|
||||
LOOKUP_FIELD_LINE_COMMENT=116
|
||||
LOOKUP_FIELD_MULTILINE_COMMENT=117
|
||||
LOOKUP_FIELD_WS=118
|
||||
METRICS_LINE_COMMENT=119
|
||||
METRICS_MULTILINE_COMMENT=120
|
||||
METRICS_WS=121
|
||||
CLOSING_METRICS_LINE_COMMENT=122
|
||||
CLOSING_METRICS_MULTILINE_COMMENT=123
|
||||
CLOSING_METRICS_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
|
||||
AS=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
|
||||
DEV_RRF=28
|
||||
RENAME=29
|
||||
SHOW=30
|
||||
UNKNOWN_CMD=31
|
||||
CHANGE_POINT_LINE_COMMENT=32
|
||||
CHANGE_POINT_MULTILINE_COMMENT=33
|
||||
CHANGE_POINT_WS=34
|
||||
ON=35
|
||||
WITH=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
|
||||
BY=55
|
||||
AND=56
|
||||
ASC=57
|
||||
ASSIGN=58
|
||||
CAST_OP=59
|
||||
COLON=60
|
||||
COMMA=61
|
||||
DESC=62
|
||||
DOT=63
|
||||
FALSE=64
|
||||
FIRST=65
|
||||
IN=66
|
||||
IS=67
|
||||
LAST=68
|
||||
LIKE=69
|
||||
NOT=70
|
||||
NULL=71
|
||||
NULLS=72
|
||||
OR=73
|
||||
PARAM=74
|
||||
RLIKE=75
|
||||
TRUE=76
|
||||
EQ=77
|
||||
CIEQ=78
|
||||
NEQ=79
|
||||
LT=80
|
||||
LTE=81
|
||||
GT=82
|
||||
GTE=83
|
||||
PLUS=84
|
||||
MINUS=85
|
||||
ASTERISK=86
|
||||
SLASH=87
|
||||
PERCENT=88
|
||||
LEFT_BRACES=89
|
||||
RIGHT_BRACES=90
|
||||
DOUBLE_PARAMS=91
|
||||
NAMED_OR_POSITIONAL_PARAM=92
|
||||
NAMED_OR_POSITIONAL_DOUBLE_PARAMS=93
|
||||
OPENING_BRACKET=94
|
||||
CLOSING_BRACKET=95
|
||||
LP=96
|
||||
RP=97
|
||||
UNQUOTED_IDENTIFIER=98
|
||||
QUOTED_IDENTIFIER=99
|
||||
EXPR_LINE_COMMENT=100
|
||||
EXPR_MULTILINE_COMMENT=101
|
||||
EXPR_WS=102
|
||||
METADATA=103
|
||||
UNQUOTED_SOURCE=104
|
||||
FROM_LINE_COMMENT=105
|
||||
FROM_MULTILINE_COMMENT=106
|
||||
FROM_WS=107
|
||||
FORK_WS=108
|
||||
FORK_LINE_COMMENT=109
|
||||
FORK_MULTILINE_COMMENT=110
|
||||
JOIN=111
|
||||
USING=112
|
||||
JOIN_LINE_COMMENT=113
|
||||
JOIN_MULTILINE_COMMENT=114
|
||||
JOIN_WS=115
|
||||
LOOKUP_LINE_COMMENT=116
|
||||
LOOKUP_MULTILINE_COMMENT=117
|
||||
LOOKUP_WS=118
|
||||
LOOKUP_FIELD_LINE_COMMENT=119
|
||||
LOOKUP_FIELD_MULTILINE_COMMENT=120
|
||||
LOOKUP_FIELD_WS=121
|
||||
METRICS_LINE_COMMENT=122
|
||||
METRICS_MULTILINE_COMMENT=123
|
||||
METRICS_WS=124
|
||||
CLOSING_METRICS_LINE_COMMENT=125
|
||||
CLOSING_METRICS_MULTILINE_COMMENT=126
|
||||
CLOSING_METRICS_WS=127
|
||||
MVEXPAND_LINE_COMMENT=128
|
||||
MVEXPAND_MULTILINE_COMMENT=129
|
||||
MVEXPAND_WS=130
|
||||
ID_PATTERN=131
|
||||
PROJECT_LINE_COMMENT=132
|
||||
PROJECT_MULTILINE_COMMENT=133
|
||||
PROJECT_WS=134
|
||||
AS=135
|
||||
RENAME_LINE_COMMENT=136
|
||||
RENAME_MULTILINE_COMMENT=137
|
||||
RENAME_WS=138
|
||||
INFO=139
|
||||
SHOW_LINE_COMMENT=140
|
||||
SHOW_MULTILINE_COMMENT=141
|
||||
SHOW_WS=142
|
||||
'enrich'=5
|
||||
'explain'=6
|
||||
'dissect'=7
|
||||
|
@ -152,51 +155,51 @@ SHOW_WS=139
|
|||
'mv_expand'=24
|
||||
'drop'=25
|
||||
'keep'=26
|
||||
'rename'=28
|
||||
'show'=29
|
||||
'on'=34
|
||||
'with'=35
|
||||
'|'=50
|
||||
'by'=54
|
||||
'and'=55
|
||||
'asc'=56
|
||||
'='=57
|
||||
'::'=58
|
||||
':'=59
|
||||
','=60
|
||||
'desc'=61
|
||||
'.'=62
|
||||
'false'=63
|
||||
'first'=64
|
||||
'in'=65
|
||||
'is'=66
|
||||
'last'=67
|
||||
'like'=68
|
||||
'not'=69
|
||||
'null'=70
|
||||
'nulls'=71
|
||||
'or'=72
|
||||
'?'=73
|
||||
'rlike'=74
|
||||
'true'=75
|
||||
'=='=76
|
||||
'=~'=77
|
||||
'!='=78
|
||||
'<'=79
|
||||
'<='=80
|
||||
'>'=81
|
||||
'>='=82
|
||||
'+'=83
|
||||
'-'=84
|
||||
'*'=85
|
||||
'/'=86
|
||||
'%'=87
|
||||
'{'=88
|
||||
'}'=89
|
||||
']'=92
|
||||
')'=94
|
||||
'metadata'=100
|
||||
'join'=108
|
||||
'USING'=109
|
||||
'as'=132
|
||||
'info'=136
|
||||
'rename'=29
|
||||
'show'=30
|
||||
'on'=35
|
||||
'with'=36
|
||||
'|'=51
|
||||
'by'=55
|
||||
'and'=56
|
||||
'asc'=57
|
||||
'='=58
|
||||
'::'=59
|
||||
':'=60
|
||||
','=61
|
||||
'desc'=62
|
||||
'.'=63
|
||||
'false'=64
|
||||
'first'=65
|
||||
'in'=66
|
||||
'is'=67
|
||||
'last'=68
|
||||
'like'=69
|
||||
'not'=70
|
||||
'null'=71
|
||||
'nulls'=72
|
||||
'or'=73
|
||||
'?'=74
|
||||
'rlike'=75
|
||||
'true'=76
|
||||
'=='=77
|
||||
'=~'=78
|
||||
'!='=79
|
||||
'<'=80
|
||||
'<='=81
|
||||
'>'=82
|
||||
'>='=83
|
||||
'+'=84
|
||||
'-'=85
|
||||
'*'=86
|
||||
'/'=87
|
||||
'%'=88
|
||||
'{'=89
|
||||
'}'=90
|
||||
']'=95
|
||||
')'=97
|
||||
'metadata'=103
|
||||
'join'=111
|
||||
'USING'=112
|
||||
'as'=135
|
||||
'info'=139
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -38,6 +38,8 @@ import { IdentifierContext } from "./esql_parser.js";
|
|||
import { IdentifierPatternContext } from "./esql_parser.js";
|
||||
import { InputParamContext } from "./esql_parser.js";
|
||||
import { InputNamedOrPositionalParamContext } from "./esql_parser.js";
|
||||
import { InputDoubleParamsContext } from "./esql_parser.js";
|
||||
import { InputNamedOrPositionalDoubleParamsContext } from "./esql_parser.js";
|
||||
import { IdentifierOrParameterContext } from "./esql_parser.js";
|
||||
import { LimitCommandContext } from "./esql_parser.js";
|
||||
import { SortCommandContext } from "./esql_parser.js";
|
||||
|
@ -66,6 +68,7 @@ import { ForkSubQueryContext } from "./esql_parser.js";
|
|||
import { SingleForkSubQueryCommandContext } from "./esql_parser.js";
|
||||
import { CompositeForkSubQueryContext } from "./esql_parser.js";
|
||||
import { ForkSubQueryProcessingCommandContext } from "./esql_parser.js";
|
||||
import { RrfCommandContext } from "./esql_parser.js";
|
||||
import { MatchExpressionContext } from "./esql_parser.js";
|
||||
import { LogicalNotContext } from "./esql_parser.js";
|
||||
import { BooleanDefaultContext } from "./esql_parser.js";
|
||||
|
@ -396,6 +399,30 @@ export default class esql_parserListener extends ParseTreeListener {
|
|||
* @param ctx the parse tree
|
||||
*/
|
||||
exitInputNamedOrPositionalParam?: (ctx: InputNamedOrPositionalParamContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `inputDoubleParams`
|
||||
* labeled alternative in `esql_parser.doubleParameter`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterInputDoubleParams?: (ctx: InputDoubleParamsContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by the `inputDoubleParams`
|
||||
* labeled alternative in `esql_parser.doubleParameter`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitInputDoubleParams?: (ctx: InputDoubleParamsContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `inputNamedOrPositionalDoubleParams`
|
||||
* labeled alternative in `esql_parser.doubleParameter`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterInputNamedOrPositionalDoubleParams?: (ctx: InputNamedOrPositionalDoubleParamsContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by the `inputNamedOrPositionalDoubleParams`
|
||||
* labeled alternative in `esql_parser.doubleParameter`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitInputNamedOrPositionalDoubleParams?: (ctx: InputNamedOrPositionalDoubleParamsContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by `esql_parser.identifierOrParameter`.
|
||||
* @param ctx the parse tree
|
||||
|
@ -682,6 +709,16 @@ export default class esql_parserListener extends ParseTreeListener {
|
|||
* @param ctx the parse tree
|
||||
*/
|
||||
exitForkSubQueryProcessingCommand?: (ctx: ForkSubQueryProcessingCommandContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by `esql_parser.rrfCommand`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterRrfCommand?: (ctx: RrfCommandContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by `esql_parser.rrfCommand`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitRrfCommand?: (ctx: RrfCommandContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `matchExpression`
|
||||
* labeled alternative in `esql_parser.booleanExpression`.
|
||||
|
|
|
@ -65,6 +65,8 @@ ENRICH_FIELD_QUOTED_IDENTIFIER
|
|||
|
||||
ENRICH_FIELD_PARAM : PARAM -> type(PARAM);
|
||||
ENRICH_FIELD_NAMED_OR_POSITIONAL_PARAM : NAMED_OR_POSITIONAL_PARAM -> type(NAMED_OR_POSITIONAL_PARAM);
|
||||
ENRICH_FIELD_DOUBLE_PARAMS : {this.isDevVersion()}? DOUBLE_PARAMS -> type(DOUBLE_PARAMS);
|
||||
ENRICH_FIELD_NAMED_OR_POSITIONAL_DOUBLE_PARAMS : {this.isDevVersion()}? NAMED_OR_POSITIONAL_DOUBLE_PARAMS -> type(NAMED_OR_POSITIONAL_DOUBLE_PARAMS);
|
||||
|
||||
ENRICH_FIELD_LINE_COMMENT
|
||||
: LINE_COMMENT -> channel(HIDDEN)
|
||||
|
|
|
@ -123,6 +123,8 @@ PERCENT : '%';
|
|||
LEFT_BRACES : '{';
|
||||
RIGHT_BRACES : '}';
|
||||
|
||||
DOUBLE_PARAMS: {this.isDevVersion()}? '??';
|
||||
|
||||
NESTED_WHERE : WHERE -> type(WHERE);
|
||||
|
||||
NAMED_OR_POSITIONAL_PARAM
|
||||
|
@ -130,6 +132,11 @@ NAMED_OR_POSITIONAL_PARAM
|
|||
| PARAM DIGIT+
|
||||
;
|
||||
|
||||
NAMED_OR_POSITIONAL_DOUBLE_PARAMS
|
||||
: DOUBLE_PARAMS (LETTER | UNDERSCORE) UNQUOTED_ID_BODY*
|
||||
| DOUBLE_PARAMS DIGIT+
|
||||
;
|
||||
|
||||
// Brackets are funny. We can happen upon a CLOSING_BRACKET in two ways - one
|
||||
// way is to start in an explain command which then shifts us to expression
|
||||
// mode. Thus, the two popModes on CLOSING_BRACKET. The other way could as
|
||||
|
|
|
@ -17,6 +17,8 @@ MVEXPAND_PIPE : PIPE -> type(PIPE), popMode;
|
|||
MVEXPAND_DOT: DOT -> type(DOT);
|
||||
MVEXPAND_PARAM : PARAM -> type(PARAM);
|
||||
MVEXPAND_NAMED_OR_POSITIONAL_PARAM : NAMED_OR_POSITIONAL_PARAM -> type(NAMED_OR_POSITIONAL_PARAM);
|
||||
MVEXPAND_DOUBLE_PARAMS : {this.isDevVersion()}? DOUBLE_PARAMS -> type(DOUBLE_PARAMS);
|
||||
MVEXPAND_NAMED_OR_POSITIONAL_DOUBLE_PARAMS : {this.isDevVersion()}? NAMED_OR_POSITIONAL_DOUBLE_PARAMS -> type(NAMED_OR_POSITIONAL_DOUBLE_PARAMS);
|
||||
|
||||
MVEXPAND_QUOTED_IDENTIFIER
|
||||
: QUOTED_IDENTIFIER -> type(QUOTED_IDENTIFIER)
|
||||
|
|
|
@ -19,6 +19,8 @@ PROJECT_DOT: DOT -> type(DOT);
|
|||
PROJECT_COMMA : COMMA -> type(COMMA);
|
||||
PROJECT_PARAM : PARAM -> type(PARAM);
|
||||
PROJECT_NAMED_OR_POSITIONAL_PARAM : NAMED_OR_POSITIONAL_PARAM -> type(NAMED_OR_POSITIONAL_PARAM);
|
||||
PROJECT_DOUBLE_PARAMS : {this.isDevVersion()}? DOUBLE_PARAMS -> type(DOUBLE_PARAMS);
|
||||
PROJECT_NAMED_OR_POSITIONAL_DOUBLE_PARAMS : {this.isDevVersion()}? NAMED_OR_POSITIONAL_DOUBLE_PARAMS -> type(NAMED_OR_POSITIONAL_DOUBLE_PARAMS);
|
||||
|
||||
fragment UNQUOTED_ID_BODY_WITH_PATTERN
|
||||
: (LETTER | DIGIT | UNDERSCORE | ASTERISK)
|
||||
|
|
|
@ -19,6 +19,8 @@ RENAME_COMMA : COMMA -> type(COMMA);
|
|||
RENAME_DOT: DOT -> type(DOT);
|
||||
RENAME_PARAM : PARAM -> type(PARAM);
|
||||
RENAME_NAMED_OR_POSITIONAL_PARAM : NAMED_OR_POSITIONAL_PARAM -> type(NAMED_OR_POSITIONAL_PARAM);
|
||||
RENAME_DOUBLE_PARAMS : {this.isDevVersion()}? DOUBLE_PARAMS -> type(DOUBLE_PARAMS);
|
||||
RENAME_NAMED_OR_POSITIONAL_DOUBLE_PARAMS : {this.isDevVersion()}? NAMED_OR_POSITIONAL_DOUBLE_PARAMS -> type(NAMED_OR_POSITIONAL_DOUBLE_PARAMS);
|
||||
|
||||
AS : 'as';
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
lexer grammar Rrf;
|
||||
|
||||
DEV_RRF : {this.isDevVersion()}? 'rrf' -> pushMode(EXPRESSION_MODE);
|
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
parser grammar Expression;
|
||||
|
||||
booleanExpression
|
||||
: NOT booleanExpression #logicalNot
|
||||
| valueExpression #booleanDefault
|
||||
| regexBooleanExpression #regexExpression
|
||||
| left=booleanExpression operator=AND right=booleanExpression #logicalBinary
|
||||
| left=booleanExpression operator=OR right=booleanExpression #logicalBinary
|
||||
| valueExpression (NOT)? IN LP valueExpression (COMMA valueExpression)* RP #logicalIn
|
||||
| valueExpression IS NOT? NULL #isNull
|
||||
| matchBooleanExpression #matchExpression
|
||||
;
|
||||
|
||||
regexBooleanExpression
|
||||
: valueExpression (NOT)? kind=LIKE pattern=string
|
||||
| valueExpression (NOT)? kind=RLIKE pattern=string
|
||||
;
|
||||
|
||||
matchBooleanExpression
|
||||
: fieldExp=qualifiedName (CAST_OP fieldType=dataType)? COLON matchQuery=constant
|
||||
;
|
||||
|
||||
valueExpression
|
||||
: operatorExpression #valueExpressionDefault
|
||||
| left=operatorExpression comparisonOperator right=operatorExpression #comparison
|
||||
;
|
||||
|
||||
operatorExpression
|
||||
: primaryExpression #operatorExpressionDefault
|
||||
| operator=(MINUS | PLUS) operatorExpression #arithmeticUnary
|
||||
| left=operatorExpression operator=(ASTERISK | SLASH | PERCENT) right=operatorExpression #arithmeticBinary
|
||||
| left=operatorExpression operator=(PLUS | MINUS) right=operatorExpression #arithmeticBinary
|
||||
;
|
||||
|
||||
primaryExpression
|
||||
: constant #constantDefault
|
||||
| qualifiedName #dereference
|
||||
| functionExpression #function
|
||||
| LP booleanExpression RP #parenthesizedExpression
|
||||
| primaryExpression CAST_OP dataType #inlineCast
|
||||
;
|
||||
|
||||
functionExpression
|
||||
: functionName LP (ASTERISK | (booleanExpression (COMMA booleanExpression)* (COMMA mapExpression)?))? RP
|
||||
;
|
||||
|
||||
functionName
|
||||
: identifierOrParameter
|
||||
;
|
||||
|
||||
mapExpression
|
||||
: LEFT_BRACES entryExpression (COMMA entryExpression)* RIGHT_BRACES
|
||||
;
|
||||
|
||||
entryExpression
|
||||
: key=string COLON value=constant
|
||||
;
|
||||
|
||||
constant
|
||||
: NULL #nullLiteral
|
||||
| integerValue UNQUOTED_IDENTIFIER #qualifiedIntegerLiteral
|
||||
| decimalValue #decimalLiteral
|
||||
| integerValue #integerLiteral
|
||||
| booleanValue #booleanLiteral
|
||||
| parameter #inputParameter
|
||||
| string #stringLiteral
|
||||
| OPENING_BRACKET numericValue (COMMA numericValue)* CLOSING_BRACKET #numericArrayLiteral
|
||||
| OPENING_BRACKET booleanValue (COMMA booleanValue)* CLOSING_BRACKET #booleanArrayLiteral
|
||||
| OPENING_BRACKET string (COMMA string)* CLOSING_BRACKET #stringArrayLiteral
|
||||
;
|
||||
|
||||
booleanValue
|
||||
: TRUE | FALSE
|
||||
;
|
||||
|
||||
numericValue
|
||||
: decimalValue
|
||||
| integerValue
|
||||
;
|
||||
|
||||
decimalValue
|
||||
: (PLUS | MINUS)? DECIMAL_LITERAL
|
||||
;
|
||||
|
||||
integerValue
|
||||
: (PLUS | MINUS)? INTEGER_LITERAL
|
||||
;
|
||||
|
||||
string
|
||||
: QUOTED_STRING
|
||||
;
|
||||
|
||||
comparisonOperator
|
||||
: EQ | NEQ | LT | LTE | GT | GTE
|
||||
;
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
parser grammar Join;
|
||||
|
||||
joinCommand
|
||||
: type=(JOIN_LOOKUP | DEV_JOIN_LEFT | DEV_JOIN_RIGHT) JOIN joinTarget joinCondition
|
||||
;
|
||||
|
||||
joinTarget
|
||||
: index=indexPattern
|
||||
;
|
||||
|
||||
joinCondition
|
||||
: ON joinPredicate (COMMA joinPredicate)*
|
||||
;
|
||||
|
||||
joinPredicate
|
||||
: valueExpression
|
||||
;
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue