feat: add some query grammar
This commit is contained in:
		@ -333,6 +333,18 @@ DOUBLE_QUOTE_SYMB:                   '"';
 | 
			
		||||
REVERSE_QUOTE_SYMB:                  '`';
 | 
			
		||||
COLON_SYMB:                          ':';
 | 
			
		||||
ASTERISK_SIGN:                       '*';
 | 
			
		||||
STRING_LITERAL:                      DQUOTA_STRING | SQUOTA_STRING | BQUOTA_STRING;
 | 
			
		||||
DECIMAL_LITERAL:                     DEC_DIGIT+;
 | 
			
		||||
REAL_LITERAL:                        (DEC_DIGIT+)? '.' DEC_DIGIT+
 | 
			
		||||
                                     | DEC_DIGIT+ '.' EXPONENT_NUM_PART
 | 
			
		||||
                                     | (DEC_DIGIT+)? '.' (DEC_DIGIT+ EXPONENT_NUM_PART)
 | 
			
		||||
                                     | DEC_DIGIT+ EXPONENT_NUM_PART;
 | 
			
		||||
BIT_STRING:                          BIT_STRING_L;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
fragment ID_LITERAL:                 [A-Z_0-9a-z]*?[A-Z_a-z]+?[A-Z_0-9a-z]*;
 | 
			
		||||
fragment EXPONENT_NUM_PART:          'E' [-+]? DEC_DIGIT+;
 | 
			
		||||
fragment ID_LITERAL:                 [A-Z_0-9a-z]*?[A-Z_a-z]+?[A-Z_0-9a-z]*;
 | 
			
		||||
fragment DEC_DIGIT:                  [0-9];
 | 
			
		||||
fragment DQUOTA_STRING:              '"' ( '\\'. | '""' | ~('"'| '\\') )* '"';
 | 
			
		||||
fragment SQUOTA_STRING:              '\'' ('\\'. | '\'\'' | ~('\'' | '\\'))* '\'';
 | 
			
		||||
fragment BIT_STRING_L:               'B' '\'' [01]+ '\'';
 | 
			
		||||
fragment BQUOTA_STRING:              '`' ( '\\'. | '``' | ~('`'|'\\'))* '`';
 | 
			
		||||
@ -144,14 +144,14 @@ selectStatement
 | 
			
		||||
    : SELECT (ALL | DISTINCT)? 
 | 
			
		||||
    (ASTERISK_SIGN | projectItemDefinition (COMMA projectItemDefinition)*)
 | 
			
		||||
    FROM tableExpression
 | 
			
		||||
    (WHERE booleanExpression)?
 | 
			
		||||
    (WHERE expression)?
 | 
			
		||||
    (GROUP BY groupItemDefinition (COMMA groupItemDefinition)*)
 | 
			
		||||
    (HAVING booleanExpression)?
 | 
			
		||||
    (HAVING expression)?
 | 
			
		||||
    // (WINDOW windowName AS windowSpec (COMMA windowName AS windowSpec)*)?
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
projectItemDefinition // expression (AS? columnAlias)? | tableAlias . *
 | 
			
		||||
    :
 | 
			
		||||
projectItemDefinition
 | 
			
		||||
    : expression (AS? uid)? | uid '.' '*'
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
tableExpression
 | 
			
		||||
@ -160,20 +160,27 @@ tableExpression
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
tableReference
 | 
			
		||||
    : // tablePrimary matchRecognize? (AS? alias (LR_BRACKET columnAlias (COMMA columnAlias)* RR_BRACKET)?)?
 | 
			
		||||
    : tablePrimary matchRecognize? (AS? uid (LR_BRACKET uid (COMMA uid)* RR_BRACKET)?)?
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
// tablePrimary
 | 
			
		||||
//     : TABLE? uid dynamicTableOptions?
 | 
			
		||||
//     | LATERAL TABLE LR_BRACKET uid LR_BRACKET expression (COMMA expression)* RR_BRACKET RR_BRACKET
 | 
			
		||||
//     | UNNEST LR_BRACKET expression RR_BRACKET
 | 
			
		||||
//     ;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
joinCondition // ON booleanExpression | USING LR_BRACKET column (COMMA column)* RR_BRACKET
 | 
			
		||||
matchRecognize
 | 
			
		||||
    :
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
tablePrimary
 | 
			
		||||
    : TABLE? uid dynamicTableOptions?
 | 
			
		||||
    | LATERAL TABLE LR_BRACKET uid LR_BRACKET expression (COMMA expression)* RR_BRACKET RR_BRACKET
 | 
			
		||||
    | UNNEST LR_BRACKET expression RR_BRACKET
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
dynamicTableOptions
 | 
			
		||||
    :
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
joinCondition
 | 
			
		||||
    : ON booleanExpression | USING LR_BRACKET uid (COMMA uid)* RR_BRACKET
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
booleanExpression
 | 
			
		||||
    :
 | 
			
		||||
    ;
 | 
			
		||||
@ -208,15 +215,15 @@ selectWithoutFromDefinition
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
projectItem
 | 
			
		||||
    : // expression (AS? columnAlias)? | tableAlias . *
 | 
			
		||||
    : expression (AS? uid)? | uid '.' '*'
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
queryOrderByDefinition
 | 
			
		||||
    : ORDER BY orderItemDefition (COMMA orderItemDefition)*
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
orderItemDefition // expression (ASC | DESC)?
 | 
			
		||||
    : 
 | 
			
		||||
orderItemDefition
 | 
			
		||||
    : expression (ASC | DESC)
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
queryLimitDefinition
 | 
			
		||||
@ -235,7 +242,6 @@ queryFetchDefinition // FETCH (FIRST | NEXT) countDefinition? (ROW | ROWS) ONLY
 | 
			
		||||
    :
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Insert statements
 | 
			
		||||
 | 
			
		||||
insertStatement
 | 
			
		||||
@ -256,13 +262,16 @@ valuesDefinition
 | 
			
		||||
    : VALUES valuesRowDefinition (COMMA valuesRowDefinition)*
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
// TODO 匹配所有的值 任意value 即:(val1 [, val2, ...])
 | 
			
		||||
valuesRowDefinition
 | 
			
		||||
    : LR_BRACKET
 | 
			
		||||
        .*?
 | 
			
		||||
        allValueDifinition (COMMA allValueDifinition)*
 | 
			
		||||
    RR_BRACKET
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
allValueDifinition
 | 
			
		||||
    : stringLiteral | booleanLiteral | DEC_DIGIT | NULL
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
// base common
 | 
			
		||||
 | 
			
		||||
uidList
 | 
			
		||||
@ -289,6 +298,82 @@ keyValueDefinition
 | 
			
		||||
    : DOUBLE_QUOTE_ID EQUAL_SYMBOL DOUBLE_QUOTE_ID
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
expressions
 | 
			
		||||
    : expression (',' expression)*
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
//    Expressions, predicates
 | 
			
		||||
 | 
			
		||||
// Simplified approach for expression
 | 
			
		||||
expression
 | 
			
		||||
    :
 | 
			
		||||
    ;
 | 
			
		||||
    : notOperator=(NOT | '!') expression                            #notExpression
 | 
			
		||||
    | expression logicalOperator expression                         #logicalExpression
 | 
			
		||||
    | predicate IS NOT? testValue=(TRUE | FALSE)                    #isExpression
 | 
			
		||||
    | predicate                                                     #predicateExpression
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
predicate
 | 
			
		||||
    : predicate NOT? IN '(' (selectStatement | expressions) ')'     #inPredicate
 | 
			
		||||
    | left=predicate comparisonOperator right=predicate             #binaryComparasionPredicate
 | 
			
		||||
    | predicate comparisonOperator
 | 
			
		||||
      quantifier=(ALL | ANY) '(' selectStatement ')'                #subqueryComparasionPredicate
 | 
			
		||||
    | predicate NOT? BETWEEN predicate AND predicate                #betweenPredicate
 | 
			
		||||
    | predicate NOT? LIKE predicate                                 #likePredicate
 | 
			
		||||
    | expressionAtom                                                #expressionAtomPredicate
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
expressionAtom
 | 
			
		||||
    : constant                                                      #constantExpressionAtom
 | 
			
		||||
    | fullColumnName                                                #fullColumnNameExpressionAtom
 | 
			
		||||
    | unaryOperator expressionAtom                                  #unaryExpressionAtom
 | 
			
		||||
    | BINARY expressionAtom                                         #binaryExpressionAtom
 | 
			
		||||
    | '(' expression (',' expression)* ')'                          #nestedExpressionAtom
 | 
			
		||||
    | ROW '(' expression (',' expression)+ ')'                      #nestedRowExpressionAtom
 | 
			
		||||
    | EXISTS '(' selectStatement ')'                                #existsExpessionAtom
 | 
			
		||||
    | '(' selectStatement ')'                                       #subqueryExpessionAtom
 | 
			
		||||
    | left=expressionAtom bitOperator right=expressionAtom          #bitExpressionAtom
 | 
			
		||||
    | left=expressionAtom mathOperator right=expressionAtom         #mathExpressionAtom
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
logicalOperator
 | 
			
		||||
    : AND | '&' '&' | OR | '|' '|'
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
comparisonOperator
 | 
			
		||||
    : '=' | '>' | '<' | '<' '=' | '>' '='
 | 
			
		||||
    | '<' '>' | '!' '=' | '<' '=' '>'
 | 
			
		||||
    ;
 | 
			
		||||
bitOperator
 | 
			
		||||
    : '<' '<' | '>' '>' | '&' | '^' | '|'
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
mathOperator
 | 
			
		||||
    : '*' | '/' | '%' | DIV | '+' | '-' | '--'
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
unaryOperator
 | 
			
		||||
    : '!' | '~' | '+' | '-' | NOT
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
fullColumnName
 | 
			
		||||
    : uid
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
constant
 | 
			
		||||
    : stringLiteral | decimalLiteral
 | 
			
		||||
    | '-' decimalLiteral
 | 
			
		||||
    | booleanLiteral
 | 
			
		||||
    | REAL_LITERAL | BIT_STRING
 | 
			
		||||
    | NOT? NULL
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
stringLiteral
 | 
			
		||||
    : STRING_LITERAL
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
decimalLiteral
 | 
			
		||||
    : DECIMAL_LITERAL | ZERO_DECIMAL | ONE_DECIMAL | TWO_DECIMAL
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
booleanLiteral
 | 
			
		||||
    : TRUE | FALSE;
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -303,6 +303,11 @@ SINGLE_QUOTE_SYMB=302
 | 
			
		||||
DOUBLE_QUOTE_SYMB=303
 | 
			
		||||
REVERSE_QUOTE_SYMB=304
 | 
			
		||||
COLON_SYMB=305
 | 
			
		||||
ASTERISK_SIGN=306
 | 
			
		||||
STRING_LITERAL=307
 | 
			
		||||
DECIMAL_LITERAL=308
 | 
			
		||||
REAL_LITERAL=309
 | 
			
		||||
BIT_STRING=310
 | 
			
		||||
'SELECT'=5
 | 
			
		||||
'FROM'=6
 | 
			
		||||
'ADD'=7
 | 
			
		||||
@ -600,3 +605,4 @@ COLON_SYMB=305
 | 
			
		||||
'"'=303
 | 
			
		||||
'`'=304
 | 
			
		||||
':'=305
 | 
			
		||||
'*'=306
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -1,4 +1,21 @@
 | 
			
		||||
T__0=1
 | 
			
		||||
T__1=2
 | 
			
		||||
T__2=3
 | 
			
		||||
T__3=4
 | 
			
		||||
T__4=5
 | 
			
		||||
T__5=6
 | 
			
		||||
T__6=7
 | 
			
		||||
T__7=8
 | 
			
		||||
T__8=9
 | 
			
		||||
T__9=10
 | 
			
		||||
T__10=11
 | 
			
		||||
T__11=12
 | 
			
		||||
T__12=13
 | 
			
		||||
T__13=14
 | 
			
		||||
T__14=15
 | 
			
		||||
T__15=16
 | 
			
		||||
T__16=17
 | 
			
		||||
T__17=18
 | 
			
		||||
SPACE=1
 | 
			
		||||
SPEC_MYSQL_COMMENT=2
 | 
			
		||||
COMMENT_INPUT=3
 | 
			
		||||
@ -304,7 +321,30 @@ SINGLE_QUOTE_SYMB=302
 | 
			
		||||
DOUBLE_QUOTE_SYMB=303
 | 
			
		||||
REVERSE_QUOTE_SYMB=304
 | 
			
		||||
COLON_SYMB=305
 | 
			
		||||
','=1
 | 
			
		||||
ASTERISK_SIGN=306
 | 
			
		||||
STRING_LITERAL=307
 | 
			
		||||
DECIMAL_LITERAL=308
 | 
			
		||||
REAL_LITERAL=309
 | 
			
		||||
BIT_STRING=310
 | 
			
		||||
DEC_DIGIT=311
 | 
			
		||||
'.'=1
 | 
			
		||||
'*'=2
 | 
			
		||||
','=3
 | 
			
		||||
'!'=4
 | 
			
		||||
'('=5
 | 
			
		||||
')'=6
 | 
			
		||||
'&'=7
 | 
			
		||||
'|'=8
 | 
			
		||||
'='=9
 | 
			
		||||
'>'=10
 | 
			
		||||
'<'=11
 | 
			
		||||
'^'=12
 | 
			
		||||
'/'=13
 | 
			
		||||
'%'=14
 | 
			
		||||
'+'=15
 | 
			
		||||
'-'=16
 | 
			
		||||
'--'=17
 | 
			
		||||
'~'=18
 | 
			
		||||
'SELECT'=5
 | 
			
		||||
'FROM'=6
 | 
			
		||||
'ADD'=7
 | 
			
		||||
@ -581,17 +621,6 @@ COLON_SYMB=305
 | 
			
		||||
'RAW'=282
 | 
			
		||||
'ROW'=283
 | 
			
		||||
'NULL'=284
 | 
			
		||||
'='=285
 | 
			
		||||
'>'=286
 | 
			
		||||
'<'=287
 | 
			
		||||
'!'=288
 | 
			
		||||
'~'=289
 | 
			
		||||
'|'=290
 | 
			
		||||
'&'=291
 | 
			
		||||
'^'=292
 | 
			
		||||
'.'=293
 | 
			
		||||
'('=294
 | 
			
		||||
')'=295
 | 
			
		||||
';'=297
 | 
			
		||||
'@'=298
 | 
			
		||||
'0'=299
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,64 @@
 | 
			
		||||
token literal names:
 | 
			
		||||
null
 | 
			
		||||
'.'
 | 
			
		||||
'*'
 | 
			
		||||
','
 | 
			
		||||
'!'
 | 
			
		||||
'('
 | 
			
		||||
')'
 | 
			
		||||
'&'
 | 
			
		||||
'|'
 | 
			
		||||
'='
 | 
			
		||||
'>'
 | 
			
		||||
'<'
 | 
			
		||||
'^'
 | 
			
		||||
'/'
 | 
			
		||||
'%'
 | 
			
		||||
'+'
 | 
			
		||||
'-'
 | 
			
		||||
'--'
 | 
			
		||||
'~'
 | 
			
		||||
 | 
			
		||||
token symbolic names:
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
null
 | 
			
		||||
 | 
			
		||||
rule names:
 | 
			
		||||
T__0
 | 
			
		||||
T__1
 | 
			
		||||
T__2
 | 
			
		||||
T__3
 | 
			
		||||
T__4
 | 
			
		||||
T__5
 | 
			
		||||
T__6
 | 
			
		||||
T__7
 | 
			
		||||
T__8
 | 
			
		||||
T__9
 | 
			
		||||
T__10
 | 
			
		||||
T__11
 | 
			
		||||
T__12
 | 
			
		||||
T__13
 | 
			
		||||
T__14
 | 
			
		||||
T__15
 | 
			
		||||
T__16
 | 
			
		||||
T__17
 | 
			
		||||
 | 
			
		||||
channel names:
 | 
			
		||||
DEFAULT_TOKEN_CHANNEL
 | 
			
		||||
@ -17,4 +68,4 @@ mode names:
 | 
			
		||||
DEFAULT_MODE
 | 
			
		||||
 | 
			
		||||
atn:
 | 
			
		||||
[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 3, 7, 8, 1, 4, 2, 9, 2, 3, 2, 3, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 6, 2, 3, 3, 2, 2, 2, 3, 5, 3, 2, 2, 2, 5, 6, 7, 46, 2, 2, 6, 4, 3, 2, 2, 2, 3, 2, 2]
 | 
			
		||||
[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 20, 76, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 2, 2, 20, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 3, 2, 2, 2, 75, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 3, 39, 3, 2, 2, 2, 5, 41, 3, 2, 2, 2, 7, 43, 3, 2, 2, 2, 9, 45, 3, 2, 2, 2, 11, 47, 3, 2, 2, 2, 13, 49, 3, 2, 2, 2, 15, 51, 3, 2, 2, 2, 17, 53, 3, 2, 2, 2, 19, 55, 3, 2, 2, 2, 21, 57, 3, 2, 2, 2, 23, 59, 3, 2, 2, 2, 25, 61, 3, 2, 2, 2, 27, 63, 3, 2, 2, 2, 29, 65, 3, 2, 2, 2, 31, 67, 3, 2, 2, 2, 33, 69, 3, 2, 2, 2, 35, 71, 3, 2, 2, 2, 37, 74, 3, 2, 2, 2, 39, 40, 7, 48, 2, 2, 40, 4, 3, 2, 2, 2, 41, 42, 7, 44, 2, 2, 42, 6, 3, 2, 2, 2, 43, 44, 7, 46, 2, 2, 44, 8, 3, 2, 2, 2, 45, 46, 7, 35, 2, 2, 46, 10, 3, 2, 2, 2, 47, 48, 7, 42, 2, 2, 48, 12, 3, 2, 2, 2, 49, 50, 7, 43, 2, 2, 50, 14, 3, 2, 2, 2, 51, 52, 7, 40, 2, 2, 52, 16, 3, 2, 2, 2, 53, 54, 7, 126, 2, 2, 54, 18, 3, 2, 2, 2, 55, 56, 7, 63, 2, 2, 56, 20, 3, 2, 2, 2, 57, 58, 7, 64, 2, 2, 58, 22, 3, 2, 2, 2, 59, 60, 7, 62, 2, 2, 60, 24, 3, 2, 2, 2, 61, 62, 7, 96, 2, 2, 62, 26, 3, 2, 2, 2, 63, 64, 7, 49, 2, 2, 64, 28, 3, 2, 2, 2, 65, 66, 7, 39, 2, 2, 66, 30, 3, 2, 2, 2, 67, 68, 7, 45, 2, 2, 68, 32, 3, 2, 2, 2, 69, 70, 7, 47, 2, 2, 70, 34, 3, 2, 2, 2, 71, 72, 7, 47, 2, 2, 72, 73, 7, 47, 2, 2, 73, 36, 3, 2, 2, 2, 74, 75, 7, 128, 2, 2, 75, 38, 3, 2, 2, 2, 3, 2, 2]
 | 
			
		||||
@ -5,11 +5,51 @@ var antlr4 = require('antlr4/index');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
 | 
			
		||||
    "\u0002\u0003\u0007\b\u0001\u0004\u0002\t\u0002\u0003\u0002\u0003\u0002",
 | 
			
		||||
    "\u0002\u0002\u0003\u0003\u0003\u0003\u0002\u0002\u0002\u0006\u0002\u0003",
 | 
			
		||||
    "\u0003\u0002\u0002\u0002\u0003\u0005\u0003\u0002\u0002\u0002\u0005\u0006",
 | 
			
		||||
    "\u0007.\u0002\u0002\u0006\u0004\u0003\u0002\u0002\u0002\u0003\u0002",
 | 
			
		||||
    "\u0002"].join("");
 | 
			
		||||
    "\u0002\u0014L\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004",
 | 
			
		||||
    "\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t",
 | 
			
		||||
    "\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
 | 
			
		||||
    "\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010",
 | 
			
		||||
    "\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013",
 | 
			
		||||
    "\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004",
 | 
			
		||||
    "\u0003\u0005\u0003\u0005\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007",
 | 
			
		||||
    "\u0003\b\u0003\b\u0003\t\u0003\t\u0003\n\u0003\n\u0003\u000b\u0003\u000b",
 | 
			
		||||
    "\u0003\f\u0003\f\u0003\r\u0003\r\u0003\u000e\u0003\u000e\u0003\u000f",
 | 
			
		||||
    "\u0003\u000f\u0003\u0010\u0003\u0010\u0003\u0011\u0003\u0011\u0003\u0012",
 | 
			
		||||
    "\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013\u0002\u0002\u0014\u0003",
 | 
			
		||||
    "\u0003\u0005\u0004\u0007\u0005\t\u0006\u000b\u0007\r\b\u000f\t\u0011",
 | 
			
		||||
    "\n\u0013\u000b\u0015\f\u0017\r\u0019\u000e\u001b\u000f\u001d\u0010\u001f",
 | 
			
		||||
    "\u0011!\u0012#\u0013%\u0014\u0003\u0002\u0002\u0002K\u0002\u0003\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002\u0002\u0007\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u0002\t\u0003\u0002\u0002\u0002\u0002\u000b\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u0002\r\u0003\u0002\u0002\u0002\u0002\u000f\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002\u0002\u0013\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002\u0002\u0017\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u0002\u0019\u0003\u0002\u0002\u0002\u0002\u001b\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u0002\u001d\u0003\u0002\u0002\u0002\u0002\u001f\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u0002!\u0003\u0002\u0002\u0002\u0002#\u0003\u0002",
 | 
			
		||||
    "\u0002\u0002\u0002%\u0003\u0002\u0002\u0002\u0003\'\u0003\u0002\u0002",
 | 
			
		||||
    "\u0002\u0005)\u0003\u0002\u0002\u0002\u0007+\u0003\u0002\u0002\u0002",
 | 
			
		||||
    "\t-\u0003\u0002\u0002\u0002\u000b/\u0003\u0002\u0002\u0002\r1\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002\u000f3\u0003\u0002\u0002\u0002\u00115\u0003\u0002",
 | 
			
		||||
    "\u0002\u0002\u00137\u0003\u0002\u0002\u0002\u00159\u0003\u0002\u0002",
 | 
			
		||||
    "\u0002\u0017;\u0003\u0002\u0002\u0002\u0019=\u0003\u0002\u0002\u0002",
 | 
			
		||||
    "\u001b?\u0003\u0002\u0002\u0002\u001dA\u0003\u0002\u0002\u0002\u001f",
 | 
			
		||||
    "C\u0003\u0002\u0002\u0002!E\u0003\u0002\u0002\u0002#G\u0003\u0002\u0002",
 | 
			
		||||
    "\u0002%J\u0003\u0002\u0002\u0002\'(\u00070\u0002\u0002(\u0004\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002)*\u0007,\u0002\u0002*\u0006\u0003\u0002\u0002\u0002",
 | 
			
		||||
    "+,\u0007.\u0002\u0002,\b\u0003\u0002\u0002\u0002-.\u0007#\u0002\u0002",
 | 
			
		||||
    ".\n\u0003\u0002\u0002\u0002/0\u0007*\u0002\u00020\f\u0003\u0002\u0002",
 | 
			
		||||
    "\u000212\u0007+\u0002\u00022\u000e\u0003\u0002\u0002\u000234\u0007(",
 | 
			
		||||
    "\u0002\u00024\u0010\u0003\u0002\u0002\u000256\u0007~\u0002\u00026\u0012",
 | 
			
		||||
    "\u0003\u0002\u0002\u000278\u0007?\u0002\u00028\u0014\u0003\u0002\u0002",
 | 
			
		||||
    "\u00029:\u0007@\u0002\u0002:\u0016\u0003\u0002\u0002\u0002;<\u0007>",
 | 
			
		||||
    "\u0002\u0002<\u0018\u0003\u0002\u0002\u0002=>\u0007`\u0002\u0002>\u001a",
 | 
			
		||||
    "\u0003\u0002\u0002\u0002?@\u00071\u0002\u0002@\u001c\u0003\u0002\u0002",
 | 
			
		||||
    "\u0002AB\u0007\'\u0002\u0002B\u001e\u0003\u0002\u0002\u0002CD\u0007",
 | 
			
		||||
    "-\u0002\u0002D \u0003\u0002\u0002\u0002EF\u0007/\u0002\u0002F\"\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002GH\u0007/\u0002\u0002HI\u0007/\u0002\u0002I$\u0003",
 | 
			
		||||
    "\u0002\u0002\u0002JK\u0007\u0080\u0002\u0002K&\u0003\u0002\u0002\u0002",
 | 
			
		||||
    "\u0003\u0002\u0002"].join("");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
 | 
			
		||||
@ -33,16 +73,41 @@ Object.defineProperty(FlinkSqlParserLexer.prototype, "atn", {
 | 
			
		||||
 | 
			
		||||
FlinkSqlParserLexer.EOF = antlr4.Token.EOF;
 | 
			
		||||
FlinkSqlParserLexer.T__0 = 1;
 | 
			
		||||
FlinkSqlParserLexer.T__1 = 2;
 | 
			
		||||
FlinkSqlParserLexer.T__2 = 3;
 | 
			
		||||
FlinkSqlParserLexer.T__3 = 4;
 | 
			
		||||
FlinkSqlParserLexer.T__4 = 5;
 | 
			
		||||
FlinkSqlParserLexer.T__5 = 6;
 | 
			
		||||
FlinkSqlParserLexer.T__6 = 7;
 | 
			
		||||
FlinkSqlParserLexer.T__7 = 8;
 | 
			
		||||
FlinkSqlParserLexer.T__8 = 9;
 | 
			
		||||
FlinkSqlParserLexer.T__9 = 10;
 | 
			
		||||
FlinkSqlParserLexer.T__10 = 11;
 | 
			
		||||
FlinkSqlParserLexer.T__11 = 12;
 | 
			
		||||
FlinkSqlParserLexer.T__12 = 13;
 | 
			
		||||
FlinkSqlParserLexer.T__13 = 14;
 | 
			
		||||
FlinkSqlParserLexer.T__14 = 15;
 | 
			
		||||
FlinkSqlParserLexer.T__15 = 16;
 | 
			
		||||
FlinkSqlParserLexer.T__16 = 17;
 | 
			
		||||
FlinkSqlParserLexer.T__17 = 18;
 | 
			
		||||
 | 
			
		||||
FlinkSqlParserLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
 | 
			
		||||
 | 
			
		||||
FlinkSqlParserLexer.prototype.modeNames = [ "DEFAULT_MODE" ];
 | 
			
		||||
 | 
			
		||||
FlinkSqlParserLexer.prototype.literalNames = [ null, "','" ];
 | 
			
		||||
FlinkSqlParserLexer.prototype.literalNames = [ null, "'.'", "'*'", "','", 
 | 
			
		||||
                                               "'!'", "'('", "')'", "'&'", 
 | 
			
		||||
                                               "'|'", "'='", "'>'", "'<'", 
 | 
			
		||||
                                               "'^'", "'/'", "'%'", "'+'", 
 | 
			
		||||
                                               "'-'", "'--'", "'~'" ];
 | 
			
		||||
 | 
			
		||||
FlinkSqlParserLexer.prototype.symbolicNames = [  ];
 | 
			
		||||
 | 
			
		||||
FlinkSqlParserLexer.prototype.ruleNames = [ "T__0" ];
 | 
			
		||||
FlinkSqlParserLexer.prototype.ruleNames = [ "T__0", "T__1", "T__2", "T__3", 
 | 
			
		||||
                                            "T__4", "T__5", "T__6", "T__7", 
 | 
			
		||||
                                            "T__8", "T__9", "T__10", "T__11", 
 | 
			
		||||
                                            "T__12", "T__13", "T__14", "T__15", 
 | 
			
		||||
                                            "T__16", "T__17" ];
 | 
			
		||||
 | 
			
		||||
FlinkSqlParserLexer.prototype.grammarFileName = "FlinkSqlParser.g4";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,2 +1,36 @@
 | 
			
		||||
T__0=1
 | 
			
		||||
','=1
 | 
			
		||||
T__1=2
 | 
			
		||||
T__2=3
 | 
			
		||||
T__3=4
 | 
			
		||||
T__4=5
 | 
			
		||||
T__5=6
 | 
			
		||||
T__6=7
 | 
			
		||||
T__7=8
 | 
			
		||||
T__8=9
 | 
			
		||||
T__9=10
 | 
			
		||||
T__10=11
 | 
			
		||||
T__11=12
 | 
			
		||||
T__12=13
 | 
			
		||||
T__13=14
 | 
			
		||||
T__14=15
 | 
			
		||||
T__15=16
 | 
			
		||||
T__16=17
 | 
			
		||||
T__17=18
 | 
			
		||||
'.'=1
 | 
			
		||||
'*'=2
 | 
			
		||||
','=3
 | 
			
		||||
'!'=4
 | 
			
		||||
'('=5
 | 
			
		||||
')'=6
 | 
			
		||||
'&'=7
 | 
			
		||||
'|'=8
 | 
			
		||||
'='=9
 | 
			
		||||
'>'=10
 | 
			
		||||
'<'=11
 | 
			
		||||
'^'=12
 | 
			
		||||
'/'=13
 | 
			
		||||
'%'=14
 | 
			
		||||
'+'=15
 | 
			
		||||
'-'=16
 | 
			
		||||
'--'=17
 | 
			
		||||
'~'=18
 | 
			
		||||
 | 
			
		||||
@ -245,6 +245,24 @@ FlinkSqlParserListener.prototype.exitDropFunction = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#queryStatement.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterQueryStatement = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#queryStatement.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitQueryStatement = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#selectStatements.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterSelectStatements = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#selectStatements.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitSelectStatements = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#selectStatement.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterSelectStatement = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
@ -254,6 +272,159 @@ FlinkSqlParserListener.prototype.exitSelectStatement = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#projectItemDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterProjectItemDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#projectItemDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitProjectItemDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#tableExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterTableExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#tableExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitTableExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#tableReference.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterTableReference = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#tableReference.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitTableReference = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#matchRecognize.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterMatchRecognize = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#matchRecognize.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitMatchRecognize = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#tablePrimary.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterTablePrimary = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#tablePrimary.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitTablePrimary = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#dynamicTableOptions.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterDynamicTableOptions = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#dynamicTableOptions.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitDynamicTableOptions = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#joinCondition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterJoinCondition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#joinCondition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitJoinCondition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#booleanExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterBooleanExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#booleanExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitBooleanExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#groupItemDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterGroupItemDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#groupItemDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitGroupItemDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#selectWithoutFromDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterSelectWithoutFromDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#selectWithoutFromDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitSelectWithoutFromDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#projectItem.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterProjectItem = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#projectItem.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitProjectItem = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#queryOrderByDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterQueryOrderByDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#queryOrderByDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitQueryOrderByDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#orderItemDefition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterOrderItemDefition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#orderItemDefition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitOrderItemDefition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#queryLimitDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterQueryLimitDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#queryLimitDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitQueryLimitDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#countDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterCountDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#countDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitCountDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#queryOffsetDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterQueryOffsetDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#queryOffsetDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitQueryOffsetDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#queryFetchDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterQueryFetchDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#queryFetchDefinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitQueryFetchDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#insertStatement.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterInsertStatement = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
@ -290,6 +461,15 @@ FlinkSqlParserListener.prototype.exitValuesRowDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#allValueDifinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterAllValueDifinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#allValueDifinition.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitAllValueDifinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#uidList.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterUidList = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
@ -344,5 +524,284 @@ FlinkSqlParserListener.prototype.exitKeyValueDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#expressions.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterExpressions = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#expressions.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitExpressions = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#isExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterIsExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#isExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitIsExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#notExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterNotExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#notExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitNotExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#logicalExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterLogicalExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#logicalExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitLogicalExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#predicateExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterPredicateExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#predicateExpression.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitPredicateExpression = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#expressionAtomPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterExpressionAtomPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#expressionAtomPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitExpressionAtomPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#inPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterInPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#inPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitInPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#subqueryComparasionPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterSubqueryComparasionPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#subqueryComparasionPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitSubqueryComparasionPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#betweenPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterBetweenPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#betweenPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitBetweenPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#binaryComparasionPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterBinaryComparasionPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#binaryComparasionPredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitBinaryComparasionPredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#likePredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterLikePredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#likePredicate.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitLikePredicate = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#unaryExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterUnaryExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#unaryExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitUnaryExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#subqueryExpessionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterSubqueryExpessionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#subqueryExpessionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitSubqueryExpessionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#existsExpessionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterExistsExpessionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#existsExpessionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitExistsExpessionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#constantExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterConstantExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#constantExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitConstantExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#binaryExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterBinaryExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#binaryExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitBinaryExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#fullColumnNameExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterFullColumnNameExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#fullColumnNameExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitFullColumnNameExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#bitExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterBitExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#bitExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitBitExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#nestedExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterNestedExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#nestedExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitNestedExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#nestedRowExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterNestedRowExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#nestedRowExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitNestedRowExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#mathExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterMathExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#mathExpressionAtom.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitMathExpressionAtom = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#logicalOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterLogicalOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#logicalOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitLogicalOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#comparisonOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterComparisonOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#comparisonOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitComparisonOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#bitOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterBitOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#bitOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitBitOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#mathOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterMathOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#mathOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitMathOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#unaryOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterUnaryOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#unaryOperator.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitUnaryOperator = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#fullColumnName.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterFullColumnName = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#fullColumnName.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitFullColumnName = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#constant.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterConstant = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#constant.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitConstant = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#stringLiteral.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterStringLiteral = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#stringLiteral.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitStringLiteral = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#decimalLiteral.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterDecimalLiteral = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#decimalLiteral.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitDecimalLiteral = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Enter a parse tree produced by FlinkSqlParserParser#booleanLiteral.
 | 
			
		||||
FlinkSqlParserListener.prototype.enterBooleanLiteral = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Exit a parse tree produced by FlinkSqlParserParser#booleanLiteral.
 | 
			
		||||
FlinkSqlParserListener.prototype.exitBooleanLiteral = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
exports.FlinkSqlParserListener = FlinkSqlParserListener;
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -168,12 +168,126 @@ FlinkSqlParserVisitor.prototype.visitDropFunction = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#queryStatement.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitQueryStatement = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#selectStatements.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitSelectStatements = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#selectStatement.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitSelectStatement = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#projectItemDefinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitProjectItemDefinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#tableExpression.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitTableExpression = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#tableReference.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitTableReference = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#matchRecognize.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitMatchRecognize = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#tablePrimary.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitTablePrimary = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#dynamicTableOptions.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitDynamicTableOptions = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#joinCondition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitJoinCondition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#booleanExpression.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitBooleanExpression = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#groupItemDefinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitGroupItemDefinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#selectWithoutFromDefinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitSelectWithoutFromDefinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#projectItem.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitProjectItem = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#queryOrderByDefinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitQueryOrderByDefinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#orderItemDefition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitOrderItemDefition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#queryLimitDefinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitQueryLimitDefinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#countDefinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitCountDefinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#queryOffsetDefinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitQueryOffsetDefinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#queryFetchDefinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitQueryFetchDefinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#insertStatement.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitInsertStatement = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
@ -198,6 +312,12 @@ FlinkSqlParserVisitor.prototype.visitValuesRowDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#allValueDifinition.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitAllValueDifinition = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#uidList.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitUidList = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
@ -234,5 +354,191 @@ FlinkSqlParserVisitor.prototype.visitKeyValueDefinition = function(ctx) {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#expressions.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitExpressions = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#isExpression.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitIsExpression = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#notExpression.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitNotExpression = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#logicalExpression.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitLogicalExpression = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#predicateExpression.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitPredicateExpression = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#expressionAtomPredicate.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitExpressionAtomPredicate = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#inPredicate.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitInPredicate = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#subqueryComparasionPredicate.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitSubqueryComparasionPredicate = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#betweenPredicate.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitBetweenPredicate = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#binaryComparasionPredicate.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitBinaryComparasionPredicate = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#likePredicate.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitLikePredicate = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#unaryExpressionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitUnaryExpressionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#subqueryExpessionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitSubqueryExpessionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#existsExpessionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitExistsExpessionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#constantExpressionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitConstantExpressionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#binaryExpressionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitBinaryExpressionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#fullColumnNameExpressionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitFullColumnNameExpressionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#bitExpressionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitBitExpressionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#nestedExpressionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitNestedExpressionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#nestedRowExpressionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitNestedRowExpressionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#mathExpressionAtom.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitMathExpressionAtom = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#logicalOperator.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitLogicalOperator = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#comparisonOperator.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitComparisonOperator = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#bitOperator.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitBitOperator = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#mathOperator.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitMathOperator = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#unaryOperator.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitUnaryOperator = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#fullColumnName.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitFullColumnName = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#constant.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitConstant = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#stringLiteral.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitStringLiteral = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#decimalLiteral.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitDecimalLiteral = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Visit a parse tree produced by FlinkSqlParserParser#booleanLiteral.
 | 
			
		||||
FlinkSqlParserVisitor.prototype.visitBooleanLiteral = function(ctx) {
 | 
			
		||||
  return this.visitChildren(ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
exports.FlinkSqlParserVisitor = FlinkSqlParserVisitor;
 | 
			
		||||
		Reference in New Issue
	
	Block a user