mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[ES|QL] Update grammars (#189337)
This PR updates the ES|QL grammars (lexer and parser) to match the latest version in Elasticsearch.
This commit is contained in:
parent
1df562ef57
commit
05534b0899
9 changed files with 1843 additions and 1705 deletions
|
@ -140,11 +140,12 @@ DESC : 'desc';
|
|||
DOT : '.';
|
||||
FALSE : 'false';
|
||||
FIRST : 'first';
|
||||
LAST : 'last';
|
||||
LP : '(';
|
||||
IN: 'in';
|
||||
IS: 'is';
|
||||
LAST : 'last';
|
||||
LIKE: 'like';
|
||||
LP : '(';
|
||||
MATCH: 'match';
|
||||
NOT : 'not';
|
||||
NULL : 'null';
|
||||
NULLS : 'nulls';
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -40,88 +40,89 @@ DESC=39
|
|||
DOT=40
|
||||
FALSE=41
|
||||
FIRST=42
|
||||
LAST=43
|
||||
LP=44
|
||||
IN=45
|
||||
IS=46
|
||||
LIKE=47
|
||||
NOT=48
|
||||
NULL=49
|
||||
NULLS=50
|
||||
OR=51
|
||||
PARAM=52
|
||||
RLIKE=53
|
||||
RP=54
|
||||
TRUE=55
|
||||
EQ=56
|
||||
CIEQ=57
|
||||
NEQ=58
|
||||
LT=59
|
||||
LTE=60
|
||||
GT=61
|
||||
GTE=62
|
||||
PLUS=63
|
||||
MINUS=64
|
||||
ASTERISK=65
|
||||
SLASH=66
|
||||
PERCENT=67
|
||||
NAMED_OR_POSITIONAL_PARAM=68
|
||||
OPENING_BRACKET=69
|
||||
CLOSING_BRACKET=70
|
||||
UNQUOTED_IDENTIFIER=71
|
||||
QUOTED_IDENTIFIER=72
|
||||
EXPR_LINE_COMMENT=73
|
||||
EXPR_MULTILINE_COMMENT=74
|
||||
EXPR_WS=75
|
||||
METADATA=76
|
||||
FROM_LINE_COMMENT=77
|
||||
FROM_MULTILINE_COMMENT=78
|
||||
FROM_WS=79
|
||||
ID_PATTERN=80
|
||||
PROJECT_LINE_COMMENT=81
|
||||
PROJECT_MULTILINE_COMMENT=82
|
||||
PROJECT_WS=83
|
||||
AS=84
|
||||
RENAME_LINE_COMMENT=85
|
||||
RENAME_MULTILINE_COMMENT=86
|
||||
RENAME_WS=87
|
||||
ON=88
|
||||
WITH=89
|
||||
ENRICH_POLICY_NAME=90
|
||||
ENRICH_LINE_COMMENT=91
|
||||
ENRICH_MULTILINE_COMMENT=92
|
||||
ENRICH_WS=93
|
||||
ENRICH_FIELD_LINE_COMMENT=94
|
||||
ENRICH_FIELD_MULTILINE_COMMENT=95
|
||||
ENRICH_FIELD_WS=96
|
||||
LOOKUP_LINE_COMMENT=97
|
||||
LOOKUP_MULTILINE_COMMENT=98
|
||||
LOOKUP_WS=99
|
||||
LOOKUP_FIELD_LINE_COMMENT=100
|
||||
LOOKUP_FIELD_MULTILINE_COMMENT=101
|
||||
LOOKUP_FIELD_WS=102
|
||||
MVEXPAND_LINE_COMMENT=103
|
||||
MVEXPAND_MULTILINE_COMMENT=104
|
||||
MVEXPAND_WS=105
|
||||
INFO=106
|
||||
SHOW_LINE_COMMENT=107
|
||||
SHOW_MULTILINE_COMMENT=108
|
||||
SHOW_WS=109
|
||||
FUNCTIONS=110
|
||||
META_LINE_COMMENT=111
|
||||
META_MULTILINE_COMMENT=112
|
||||
META_WS=113
|
||||
COLON=114
|
||||
SETTING=115
|
||||
SETTING_LINE_COMMENT=116
|
||||
SETTTING_MULTILINE_COMMENT=117
|
||||
SETTING_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
|
||||
IN=43
|
||||
IS=44
|
||||
LAST=45
|
||||
LIKE=46
|
||||
LP=47
|
||||
MATCH=48
|
||||
NOT=49
|
||||
NULL=50
|
||||
NULLS=51
|
||||
OR=52
|
||||
PARAM=53
|
||||
RLIKE=54
|
||||
RP=55
|
||||
TRUE=56
|
||||
EQ=57
|
||||
CIEQ=58
|
||||
NEQ=59
|
||||
LT=60
|
||||
LTE=61
|
||||
GT=62
|
||||
GTE=63
|
||||
PLUS=64
|
||||
MINUS=65
|
||||
ASTERISK=66
|
||||
SLASH=67
|
||||
PERCENT=68
|
||||
NAMED_OR_POSITIONAL_PARAM=69
|
||||
OPENING_BRACKET=70
|
||||
CLOSING_BRACKET=71
|
||||
UNQUOTED_IDENTIFIER=72
|
||||
QUOTED_IDENTIFIER=73
|
||||
EXPR_LINE_COMMENT=74
|
||||
EXPR_MULTILINE_COMMENT=75
|
||||
EXPR_WS=76
|
||||
METADATA=77
|
||||
FROM_LINE_COMMENT=78
|
||||
FROM_MULTILINE_COMMENT=79
|
||||
FROM_WS=80
|
||||
ID_PATTERN=81
|
||||
PROJECT_LINE_COMMENT=82
|
||||
PROJECT_MULTILINE_COMMENT=83
|
||||
PROJECT_WS=84
|
||||
AS=85
|
||||
RENAME_LINE_COMMENT=86
|
||||
RENAME_MULTILINE_COMMENT=87
|
||||
RENAME_WS=88
|
||||
ON=89
|
||||
WITH=90
|
||||
ENRICH_POLICY_NAME=91
|
||||
ENRICH_LINE_COMMENT=92
|
||||
ENRICH_MULTILINE_COMMENT=93
|
||||
ENRICH_WS=94
|
||||
ENRICH_FIELD_LINE_COMMENT=95
|
||||
ENRICH_FIELD_MULTILINE_COMMENT=96
|
||||
ENRICH_FIELD_WS=97
|
||||
LOOKUP_LINE_COMMENT=98
|
||||
LOOKUP_MULTILINE_COMMENT=99
|
||||
LOOKUP_WS=100
|
||||
LOOKUP_FIELD_LINE_COMMENT=101
|
||||
LOOKUP_FIELD_MULTILINE_COMMENT=102
|
||||
LOOKUP_FIELD_WS=103
|
||||
MVEXPAND_LINE_COMMENT=104
|
||||
MVEXPAND_MULTILINE_COMMENT=105
|
||||
MVEXPAND_WS=106
|
||||
INFO=107
|
||||
SHOW_LINE_COMMENT=108
|
||||
SHOW_MULTILINE_COMMENT=109
|
||||
SHOW_WS=110
|
||||
FUNCTIONS=111
|
||||
META_LINE_COMMENT=112
|
||||
META_MULTILINE_COMMENT=113
|
||||
META_WS=114
|
||||
COLON=115
|
||||
SETTING=116
|
||||
SETTING_LINE_COMMENT=117
|
||||
SETTTING_MULTILINE_COMMENT=118
|
||||
SETTING_WS=119
|
||||
METRICS_LINE_COMMENT=120
|
||||
METRICS_MULTILINE_COMMENT=121
|
||||
METRICS_WS=122
|
||||
CLOSING_METRICS_LINE_COMMENT=123
|
||||
CLOSING_METRICS_MULTILINE_COMMENT=124
|
||||
CLOSING_METRICS_WS=125
|
||||
'dissect'=1
|
||||
'drop'=2
|
||||
'enrich'=3
|
||||
|
@ -153,36 +154,37 @@ CLOSING_METRICS_WS=124
|
|||
'.'=40
|
||||
'false'=41
|
||||
'first'=42
|
||||
'last'=43
|
||||
'('=44
|
||||
'in'=45
|
||||
'is'=46
|
||||
'like'=47
|
||||
'not'=48
|
||||
'null'=49
|
||||
'nulls'=50
|
||||
'or'=51
|
||||
'?'=52
|
||||
'rlike'=53
|
||||
')'=54
|
||||
'true'=55
|
||||
'=='=56
|
||||
'=~'=57
|
||||
'!='=58
|
||||
'<'=59
|
||||
'<='=60
|
||||
'>'=61
|
||||
'>='=62
|
||||
'+'=63
|
||||
'-'=64
|
||||
'*'=65
|
||||
'/'=66
|
||||
'%'=67
|
||||
']'=70
|
||||
'metadata'=76
|
||||
'as'=84
|
||||
'on'=88
|
||||
'with'=89
|
||||
'info'=106
|
||||
'functions'=110
|
||||
':'=114
|
||||
'in'=43
|
||||
'is'=44
|
||||
'last'=45
|
||||
'like'=46
|
||||
'('=47
|
||||
'match'=48
|
||||
'not'=49
|
||||
'null'=50
|
||||
'nulls'=51
|
||||
'or'=52
|
||||
'?'=53
|
||||
'rlike'=54
|
||||
')'=55
|
||||
'true'=56
|
||||
'=='=57
|
||||
'=~'=58
|
||||
'!='=59
|
||||
'<'=60
|
||||
'<='=61
|
||||
'>'=62
|
||||
'>='=63
|
||||
'+'=64
|
||||
'-'=65
|
||||
'*'=66
|
||||
'/'=67
|
||||
'%'=68
|
||||
']'=71
|
||||
'metadata'=77
|
||||
'as'=85
|
||||
'on'=89
|
||||
'with'=90
|
||||
'info'=107
|
||||
'functions'=111
|
||||
':'=115
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -62,6 +62,7 @@ booleanExpression
|
|||
: NOT booleanExpression #logicalNot
|
||||
| valueExpression #booleanDefault
|
||||
| regexBooleanExpression #regexExpression
|
||||
| matchBooleanExpression #matchExpression
|
||||
| left=booleanExpression operator=AND right=booleanExpression #logicalBinary
|
||||
| left=booleanExpression operator=OR right=booleanExpression #logicalBinary
|
||||
| valueExpression (NOT)? IN LP valueExpression (COMMA valueExpression)* RP #logicalIn
|
||||
|
@ -73,6 +74,10 @@ regexBooleanExpression
|
|||
| valueExpression (NOT)? kind=RLIKE pattern=string
|
||||
;
|
||||
|
||||
matchBooleanExpression
|
||||
: qualifiedName MATCH queryString=string
|
||||
;
|
||||
|
||||
valueExpression
|
||||
: operatorExpression #valueExpressionDefault
|
||||
| left=operatorExpression comparisonOperator right=operatorExpression #comparison
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -40,88 +40,89 @@ DESC=39
|
|||
DOT=40
|
||||
FALSE=41
|
||||
FIRST=42
|
||||
LAST=43
|
||||
LP=44
|
||||
IN=45
|
||||
IS=46
|
||||
LIKE=47
|
||||
NOT=48
|
||||
NULL=49
|
||||
NULLS=50
|
||||
OR=51
|
||||
PARAM=52
|
||||
RLIKE=53
|
||||
RP=54
|
||||
TRUE=55
|
||||
EQ=56
|
||||
CIEQ=57
|
||||
NEQ=58
|
||||
LT=59
|
||||
LTE=60
|
||||
GT=61
|
||||
GTE=62
|
||||
PLUS=63
|
||||
MINUS=64
|
||||
ASTERISK=65
|
||||
SLASH=66
|
||||
PERCENT=67
|
||||
NAMED_OR_POSITIONAL_PARAM=68
|
||||
OPENING_BRACKET=69
|
||||
CLOSING_BRACKET=70
|
||||
UNQUOTED_IDENTIFIER=71
|
||||
QUOTED_IDENTIFIER=72
|
||||
EXPR_LINE_COMMENT=73
|
||||
EXPR_MULTILINE_COMMENT=74
|
||||
EXPR_WS=75
|
||||
METADATA=76
|
||||
FROM_LINE_COMMENT=77
|
||||
FROM_MULTILINE_COMMENT=78
|
||||
FROM_WS=79
|
||||
ID_PATTERN=80
|
||||
PROJECT_LINE_COMMENT=81
|
||||
PROJECT_MULTILINE_COMMENT=82
|
||||
PROJECT_WS=83
|
||||
AS=84
|
||||
RENAME_LINE_COMMENT=85
|
||||
RENAME_MULTILINE_COMMENT=86
|
||||
RENAME_WS=87
|
||||
ON=88
|
||||
WITH=89
|
||||
ENRICH_POLICY_NAME=90
|
||||
ENRICH_LINE_COMMENT=91
|
||||
ENRICH_MULTILINE_COMMENT=92
|
||||
ENRICH_WS=93
|
||||
ENRICH_FIELD_LINE_COMMENT=94
|
||||
ENRICH_FIELD_MULTILINE_COMMENT=95
|
||||
ENRICH_FIELD_WS=96
|
||||
LOOKUP_LINE_COMMENT=97
|
||||
LOOKUP_MULTILINE_COMMENT=98
|
||||
LOOKUP_WS=99
|
||||
LOOKUP_FIELD_LINE_COMMENT=100
|
||||
LOOKUP_FIELD_MULTILINE_COMMENT=101
|
||||
LOOKUP_FIELD_WS=102
|
||||
MVEXPAND_LINE_COMMENT=103
|
||||
MVEXPAND_MULTILINE_COMMENT=104
|
||||
MVEXPAND_WS=105
|
||||
INFO=106
|
||||
SHOW_LINE_COMMENT=107
|
||||
SHOW_MULTILINE_COMMENT=108
|
||||
SHOW_WS=109
|
||||
FUNCTIONS=110
|
||||
META_LINE_COMMENT=111
|
||||
META_MULTILINE_COMMENT=112
|
||||
META_WS=113
|
||||
COLON=114
|
||||
SETTING=115
|
||||
SETTING_LINE_COMMENT=116
|
||||
SETTTING_MULTILINE_COMMENT=117
|
||||
SETTING_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
|
||||
IN=43
|
||||
IS=44
|
||||
LAST=45
|
||||
LIKE=46
|
||||
LP=47
|
||||
MATCH=48
|
||||
NOT=49
|
||||
NULL=50
|
||||
NULLS=51
|
||||
OR=52
|
||||
PARAM=53
|
||||
RLIKE=54
|
||||
RP=55
|
||||
TRUE=56
|
||||
EQ=57
|
||||
CIEQ=58
|
||||
NEQ=59
|
||||
LT=60
|
||||
LTE=61
|
||||
GT=62
|
||||
GTE=63
|
||||
PLUS=64
|
||||
MINUS=65
|
||||
ASTERISK=66
|
||||
SLASH=67
|
||||
PERCENT=68
|
||||
NAMED_OR_POSITIONAL_PARAM=69
|
||||
OPENING_BRACKET=70
|
||||
CLOSING_BRACKET=71
|
||||
UNQUOTED_IDENTIFIER=72
|
||||
QUOTED_IDENTIFIER=73
|
||||
EXPR_LINE_COMMENT=74
|
||||
EXPR_MULTILINE_COMMENT=75
|
||||
EXPR_WS=76
|
||||
METADATA=77
|
||||
FROM_LINE_COMMENT=78
|
||||
FROM_MULTILINE_COMMENT=79
|
||||
FROM_WS=80
|
||||
ID_PATTERN=81
|
||||
PROJECT_LINE_COMMENT=82
|
||||
PROJECT_MULTILINE_COMMENT=83
|
||||
PROJECT_WS=84
|
||||
AS=85
|
||||
RENAME_LINE_COMMENT=86
|
||||
RENAME_MULTILINE_COMMENT=87
|
||||
RENAME_WS=88
|
||||
ON=89
|
||||
WITH=90
|
||||
ENRICH_POLICY_NAME=91
|
||||
ENRICH_LINE_COMMENT=92
|
||||
ENRICH_MULTILINE_COMMENT=93
|
||||
ENRICH_WS=94
|
||||
ENRICH_FIELD_LINE_COMMENT=95
|
||||
ENRICH_FIELD_MULTILINE_COMMENT=96
|
||||
ENRICH_FIELD_WS=97
|
||||
LOOKUP_LINE_COMMENT=98
|
||||
LOOKUP_MULTILINE_COMMENT=99
|
||||
LOOKUP_WS=100
|
||||
LOOKUP_FIELD_LINE_COMMENT=101
|
||||
LOOKUP_FIELD_MULTILINE_COMMENT=102
|
||||
LOOKUP_FIELD_WS=103
|
||||
MVEXPAND_LINE_COMMENT=104
|
||||
MVEXPAND_MULTILINE_COMMENT=105
|
||||
MVEXPAND_WS=106
|
||||
INFO=107
|
||||
SHOW_LINE_COMMENT=108
|
||||
SHOW_MULTILINE_COMMENT=109
|
||||
SHOW_WS=110
|
||||
FUNCTIONS=111
|
||||
META_LINE_COMMENT=112
|
||||
META_MULTILINE_COMMENT=113
|
||||
META_WS=114
|
||||
COLON=115
|
||||
SETTING=116
|
||||
SETTING_LINE_COMMENT=117
|
||||
SETTTING_MULTILINE_COMMENT=118
|
||||
SETTING_WS=119
|
||||
METRICS_LINE_COMMENT=120
|
||||
METRICS_MULTILINE_COMMENT=121
|
||||
METRICS_WS=122
|
||||
CLOSING_METRICS_LINE_COMMENT=123
|
||||
CLOSING_METRICS_MULTILINE_COMMENT=124
|
||||
CLOSING_METRICS_WS=125
|
||||
'dissect'=1
|
||||
'drop'=2
|
||||
'enrich'=3
|
||||
|
@ -153,36 +154,37 @@ CLOSING_METRICS_WS=124
|
|||
'.'=40
|
||||
'false'=41
|
||||
'first'=42
|
||||
'last'=43
|
||||
'('=44
|
||||
'in'=45
|
||||
'is'=46
|
||||
'like'=47
|
||||
'not'=48
|
||||
'null'=49
|
||||
'nulls'=50
|
||||
'or'=51
|
||||
'?'=52
|
||||
'rlike'=53
|
||||
')'=54
|
||||
'true'=55
|
||||
'=='=56
|
||||
'=~'=57
|
||||
'!='=58
|
||||
'<'=59
|
||||
'<='=60
|
||||
'>'=61
|
||||
'>='=62
|
||||
'+'=63
|
||||
'-'=64
|
||||
'*'=65
|
||||
'/'=66
|
||||
'%'=67
|
||||
']'=70
|
||||
'metadata'=76
|
||||
'as'=84
|
||||
'on'=88
|
||||
'with'=89
|
||||
'info'=106
|
||||
'functions'=110
|
||||
':'=114
|
||||
'in'=43
|
||||
'is'=44
|
||||
'last'=45
|
||||
'like'=46
|
||||
'('=47
|
||||
'match'=48
|
||||
'not'=49
|
||||
'null'=50
|
||||
'nulls'=51
|
||||
'or'=52
|
||||
'?'=53
|
||||
'rlike'=54
|
||||
')'=55
|
||||
'true'=56
|
||||
'=='=57
|
||||
'=~'=58
|
||||
'!='=59
|
||||
'<'=60
|
||||
'<='=61
|
||||
'>'=62
|
||||
'>='=63
|
||||
'+'=64
|
||||
'-'=65
|
||||
'*'=66
|
||||
'/'=67
|
||||
'%'=68
|
||||
']'=71
|
||||
'metadata'=77
|
||||
'as'=85
|
||||
'on'=89
|
||||
'with'=90
|
||||
'info'=107
|
||||
'functions'=111
|
||||
':'=115
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -10,6 +10,7 @@ import { SingleCommandQueryContext } from "./esql_parser";
|
|||
import { SourceCommandContext } from "./esql_parser";
|
||||
import { ProcessingCommandContext } from "./esql_parser";
|
||||
import { WhereCommandContext } from "./esql_parser";
|
||||
import { MatchExpressionContext } from "./esql_parser";
|
||||
import { LogicalNotContext } from "./esql_parser";
|
||||
import { BooleanDefaultContext } from "./esql_parser";
|
||||
import { IsNullContext } from "./esql_parser";
|
||||
|
@ -17,6 +18,7 @@ import { RegexExpressionContext } from "./esql_parser";
|
|||
import { LogicalInContext } from "./esql_parser";
|
||||
import { LogicalBinaryContext } from "./esql_parser";
|
||||
import { RegexBooleanExpressionContext } from "./esql_parser";
|
||||
import { MatchBooleanExpressionContext } from "./esql_parser";
|
||||
import { ValueExpressionDefaultContext } from "./esql_parser";
|
||||
import { ComparisonContext } from "./esql_parser";
|
||||
import { OperatorExpressionDefaultContext } from "./esql_parser";
|
||||
|
@ -156,6 +158,18 @@ export default class esql_parserListener extends ParseTreeListener {
|
|||
* @param ctx the parse tree
|
||||
*/
|
||||
exitWhereCommand?: (ctx: WhereCommandContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `matchExpression`
|
||||
* labeled alternative in `esql_parser.booleanExpression`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterMatchExpression?: (ctx: MatchExpressionContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by the `matchExpression`
|
||||
* labeled alternative in `esql_parser.booleanExpression`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitMatchExpression?: (ctx: MatchExpressionContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `logicalNot`
|
||||
* labeled alternative in `esql_parser.booleanExpression`.
|
||||
|
@ -238,6 +252,16 @@ export default class esql_parserListener extends ParseTreeListener {
|
|||
* @param ctx the parse tree
|
||||
*/
|
||||
exitRegexBooleanExpression?: (ctx: RegexBooleanExpressionContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by `esql_parser.matchBooleanExpression`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterMatchBooleanExpression?: (ctx: MatchBooleanExpressionContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by `esql_parser.matchBooleanExpression`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitMatchBooleanExpression?: (ctx: MatchBooleanExpressionContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `valueExpressionDefault`
|
||||
* labeled alternative in `esql_parser.valueExpression`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue