feat: update the builtin funcs of flinksql (#102)
* style: put evrry branch on a single line * feat: support ASYMMETRIC and SYMMETRIC for between and * feat: support SIMILAR TO predicate * feat: support nested boolean expression * feat: support escape to like and similar in flink sql * test: add where clause test cases * feat: add reservedKeywordsUsedAsFunctionName rule * feat: add timepointLiteral rule and improve function call grammar
This commit is contained in:
parent
c409b80ee1
commit
0924acf730
@ -46,6 +46,7 @@ KW_DIV: 'DIV';
|
||||
KW_ENCODING: 'ENCODING';
|
||||
KW_ENFORCED: 'ENFORCED';
|
||||
KW_ENGINE: 'ENGINE';
|
||||
KW_EPOCH: 'EPOCH';
|
||||
KW_ERROR: 'ERROR';
|
||||
KW_ESTIMATED_COST: 'ESTIMATED_COST';
|
||||
KW_EXCEPTION: 'EXCEPTION';
|
||||
@ -181,6 +182,7 @@ KW_VIRTUAL: 'VIRTUAL';
|
||||
KW_WATERMARK: 'WATERMARK';
|
||||
KW_WATERMARKS: 'WATERMARKS';
|
||||
KW_WEEK: 'WEEK';
|
||||
KW_WEEKS: 'WEEKS';
|
||||
KW_WORK: 'WORK';
|
||||
KW_WRAPPER: 'WRAPPER';
|
||||
KW_YEARS: 'YEARS';
|
||||
@ -194,13 +196,14 @@ KW_ZONE: 'ZONE';
|
||||
|
||||
KW_ABS: 'ABS';
|
||||
KW_ALL: 'ALL';
|
||||
ALLOW: 'ALLOW';
|
||||
KW_ALLOW: 'ALLOW';
|
||||
KW_ALTER : 'ALTER';
|
||||
KW_AND: 'AND';
|
||||
KW_ANY: 'ANY';
|
||||
KW_ARE: 'ARE';
|
||||
KW_ARRAY: 'ARRAY';
|
||||
KW_AS: 'AS';
|
||||
KW_ASYMMETRIC: 'ASYMMETRIC';
|
||||
KW_AT: 'AT';
|
||||
KW_AVG: 'AVG';
|
||||
KW_BEGIN: 'BEGIN';
|
||||
@ -256,6 +259,7 @@ KW_EACH: 'EACH';
|
||||
KW_ELSE: 'ELSE';
|
||||
KW_END: 'END';
|
||||
KW_EQUALS: 'EQUALS';
|
||||
KW_ESCAPE: 'ESCAPE';
|
||||
KW_EXCEPT: 'EXCEPT';
|
||||
KW_EXECUTE: 'EXECUTE';
|
||||
KW_EXISTS: 'EXISTS';
|
||||
@ -330,6 +334,7 @@ KW_PER: 'PER';
|
||||
KW_PERCENT: 'PERCENT';
|
||||
KW_PERIOD: 'PERIOD';
|
||||
KW_POSITION: 'POSITION';
|
||||
KW_POWER: 'POWER';
|
||||
KW_PRIMARY: 'PRIMARY';
|
||||
KW_RANGE: 'RANGE';
|
||||
KW_RANK: 'RANK';
|
||||
@ -345,12 +350,14 @@ KW_SECOND: 'SECOND';
|
||||
KW_SELECT: 'SELECT';
|
||||
KW_SET: 'SET';
|
||||
KW_SHOW: 'SHOW';
|
||||
KW_SIMILAR: 'SIMILAR';
|
||||
KW_SKIP: 'SKIP';
|
||||
KW_SMALLINT: 'SMALLINT';
|
||||
KW_START: 'START';
|
||||
KW_STATIC: 'STATIC';
|
||||
KW_SUBSTRING: 'SUBSTRING';
|
||||
KW_SUM: 'SUM';
|
||||
KW_SYMMETRIC: 'SYMMETRIC';
|
||||
KW_SYSTEM: 'SYSTEM';
|
||||
KW_SYSTEM_TIME: 'SYSTEM_TIME';
|
||||
KW_SYSTEM_USER: 'SYSTEM_USER';
|
||||
@ -361,6 +368,7 @@ KW_TIME: 'TIME';
|
||||
KW_TIMESTAMP: 'TIMESTAMP';
|
||||
KW_TINYINT: 'TINYINT';
|
||||
KW_TO: 'TO';
|
||||
KW_TRAILING: 'TRAILING';
|
||||
KW_TRUE: 'TRUE';
|
||||
KW_TRUNCATE: 'TRUNCATE';
|
||||
KW_UNION: 'UNION';
|
||||
|
@ -445,7 +445,7 @@ tableReference
|
||||
|
||||
tablePrimary
|
||||
: KW_TABLE? tablePath systemTimePeriod? (KW_AS? correlationName)?
|
||||
| KW_LATERAL KW_TABLE LR_BRACKET functionName LR_BRACKET expression (COMMA expression)* RR_BRACKET RR_BRACKET
|
||||
| KW_LATERAL KW_TABLE LR_BRACKET functionName LR_BRACKET functionParam (COMMA functionParam)* RR_BRACKET RR_BRACKET
|
||||
| KW_LATERAL? LR_BRACKET queryStatement RR_BRACKET
|
||||
| KW_UNNEST LR_BRACKET expression RR_BRACKET
|
||||
;
|
||||
@ -664,24 +664,27 @@ booleanExpression
|
||||
| valueExpression predicate? #predicated
|
||||
| left=booleanExpression operator=KW_AND right=booleanExpression #logicalBinary
|
||||
| left=booleanExpression operator=KW_OR right=booleanExpression #logicalBinary
|
||||
| booleanExpression KW_IS KW_NOT? kind=(KW_TRUE | KW_FALSE | KW_UNKNOWN | KW_NULL) #logicalNested
|
||||
;
|
||||
|
||||
predicate
|
||||
: KW_NOT? kind=KW_BETWEEN lower=valueExpression KW_AND upper=valueExpression
|
||||
: KW_NOT?
|
||||
kind=KW_BETWEEN (KW_ASYMMETRIC | KW_SYMMETRIC)?
|
||||
lower=valueExpression KW_AND
|
||||
upper=valueExpression
|
||||
| KW_NOT? kind=KW_IN '(' expression (',' expression)* ')'
|
||||
| KW_NOT? kind=KW_IN '(' queryStatement ')'
|
||||
| kind=KW_EXISTS '(' queryStatement ')'
|
||||
| KW_NOT? kind=KW_RLIKE pattern=valueExpression
|
||||
| KW_NOT? kind=KW_LIKE quantifier=(KW_ANY | KW_ALL) ('('')' | '(' expression (',' expression)* ')')
|
||||
| KW_NOT? kind=KW_LIKE pattern=valueExpression
|
||||
| KW_IS KW_NOT? kind=KW_NULL
|
||||
| KW_IS KW_NOT? kind=(KW_TRUE | KW_FALSE)
|
||||
| likePredicate
|
||||
| KW_IS KW_NOT? kind=(KW_TRUE | KW_FALSE | KW_UNKNOWN | KW_NULL)
|
||||
| KW_IS KW_NOT? kind=KW_DISTINCT KW_FROM right=valueExpression
|
||||
| KW_NOT? kind=KW_SIMILAR KW_TO right=valueExpression (KW_ESCAPE stringLiteral)?
|
||||
;
|
||||
|
||||
likePredicate
|
||||
: KW_NOT? kind=KW_LIKE quantifier=(KW_ANY | KW_ALL) ('('')' | '(' expression (',' expression)* ')')
|
||||
| KW_NOT? kind=KW_LIKE pattern=valueExpression
|
||||
| KW_NOT? kind=KW_LIKE pattern=valueExpression (KW_ESCAPE stringLiteral)?
|
||||
;
|
||||
|
||||
valueExpression
|
||||
@ -708,7 +711,7 @@ primaryExpression
|
||||
| uid '.' '*' #star
|
||||
// | '(' namedExpression (',' namedExpression)+ ')' #rowConstructor
|
||||
| '(' queryStatement ')' #subqueryExpression
|
||||
| functionName '(' (setQuantifier? expression (',' expression)*)? ')' #functionCall
|
||||
| functionName '(' (setQuantifier? functionParam (',' functionParam)*)? ')' #functionCall
|
||||
// | identifier '->' expression #lambda
|
||||
// | '(' identifier (',' identifier)+ ')' '->' expression #lambda
|
||||
| value=primaryExpression LS_BRACKET index=valueExpression RS_BRACKET #subscript
|
||||
@ -725,16 +728,22 @@ primaryExpression
|
||||
;
|
||||
|
||||
functionName
|
||||
: reservedKeywords
|
||||
: reservedKeywordsUsedAsFuncName
|
||||
| nonReservedKeywords
|
||||
| uid
|
||||
;
|
||||
|
||||
functionParam
|
||||
: reservedKeywordsUsedAsFuncParam
|
||||
| timeIntervalUnit
|
||||
| timePointUnit
|
||||
| expression
|
||||
;
|
||||
|
||||
dereferenceDefinition
|
||||
: uid
|
||||
;
|
||||
|
||||
|
||||
// base common
|
||||
|
||||
correlationName
|
||||
@ -754,7 +763,7 @@ errorCapturingMultiUnitsInterval
|
||||
;
|
||||
|
||||
multiUnitsInterval
|
||||
: (intervalValue intervalTimeUnit)+
|
||||
: (intervalValue timeIntervalUnit)+
|
||||
;
|
||||
|
||||
errorCapturingUnitToUnitInterval
|
||||
@ -762,7 +771,7 @@ errorCapturingUnitToUnitInterval
|
||||
;
|
||||
|
||||
unitToUnitInterval
|
||||
: value=intervalValue from=intervalTimeUnit KW_TO to=intervalTimeUnit
|
||||
: value=intervalValue from=timeIntervalUnit KW_TO to=timeIntervalUnit
|
||||
;
|
||||
|
||||
intervalValue
|
||||
@ -770,11 +779,6 @@ intervalValue
|
||||
| STRING_LITERAL
|
||||
;
|
||||
|
||||
intervalTimeUnit // TODO: 需要整理 interval 时间粒度比如 SECOND、DAY
|
||||
: identifier
|
||||
| reservedKeywords
|
||||
;
|
||||
|
||||
columnAlias
|
||||
: KW_AS? identifier identifierList?
|
||||
;
|
||||
@ -853,36 +857,64 @@ tablePropertyValue
|
||||
;
|
||||
|
||||
logicalOperator
|
||||
: KW_AND | '&' '&' | KW_OR | '|' '|'
|
||||
: KW_AND
|
||||
| '&' '&'
|
||||
| KW_OR
|
||||
| '|' '|'
|
||||
;
|
||||
|
||||
comparisonOperator
|
||||
: '=' | '>' | '<' | '<' '=' | '>' '='
|
||||
| '<' '>' | '!' '=' | '<' '=' '>'
|
||||
: '='
|
||||
| '>'
|
||||
| '<'
|
||||
| '<' '='
|
||||
| '>' '='
|
||||
| '<' '>'
|
||||
| '!' '='
|
||||
| '<' '=' '>'
|
||||
;
|
||||
|
||||
bitOperator
|
||||
: '<' '<' | '>' '>' | '&' | '^' | '|'
|
||||
: '<' '<'
|
||||
| '>' '>'
|
||||
| '&'
|
||||
| '^'
|
||||
| '|'
|
||||
;
|
||||
|
||||
mathOperator
|
||||
: '*' | SLASH_SIGN | PENCENT_SIGN | KW_DIV | '+' | '-' | DOUBLE_HYPNEN_SIGN
|
||||
: '*'
|
||||
| SLASH_SIGN
|
||||
| PENCENT_SIGN
|
||||
| KW_DIV
|
||||
| '+'
|
||||
| '-'
|
||||
| DOUBLE_HYPNEN_SIGN
|
||||
;
|
||||
|
||||
unaryOperator
|
||||
: '!' | '~' | ADD_SIGN | '-' | KW_NOT
|
||||
: '!'
|
||||
| '~'
|
||||
| ADD_SIGN
|
||||
| '-'
|
||||
| KW_NOT
|
||||
;
|
||||
|
||||
constant
|
||||
: stringLiteral // 引号包含的字符串
|
||||
| decimalLiteral // 整数
|
||||
| timeIntervalExpression // KW_INTERVAL keywords
|
||||
| HYPNEN_SIGN decimalLiteral // 负整数
|
||||
: timeIntervalExpression
|
||||
| timePointLiteral
|
||||
| stringLiteral // 引号包含的字符串
|
||||
| HYPNEN_SIGN? decimalLiteral // 正/负整数
|
||||
| booleanLiteral // 布尔值
|
||||
| REAL_LITERAL // 小数
|
||||
| BIT_STRING
|
||||
| KW_NOT? KW_NULL // 空 | 非空
|
||||
;
|
||||
|
||||
timePointLiteral
|
||||
: timePointUnit stringLiteral
|
||||
;
|
||||
|
||||
stringLiteral
|
||||
: STRING_LITERAL
|
||||
;
|
||||
@ -899,16 +931,99 @@ setQuantifier
|
||||
| KW_ALL
|
||||
;
|
||||
|
||||
timePointUnit
|
||||
: KW_YEAR
|
||||
| KW_QUARTER
|
||||
| KW_MONTH
|
||||
| KW_WEEK
|
||||
| KW_DAY
|
||||
| KW_HOUR
|
||||
| KW_MINUTE
|
||||
| KW_SECOND
|
||||
| KW_MILLISECOND
|
||||
| KW_MICROSECOND
|
||||
;
|
||||
|
||||
timeIntervalUnit
|
||||
: KW_MILLENNIUM
|
||||
| KW_CENTURY
|
||||
| KW_DECADE
|
||||
| KW_YEAR
|
||||
| KW_YEARS
|
||||
| KW_QUARTER
|
||||
| KW_MONTH
|
||||
| KW_MONTHS
|
||||
| KW_WEEK
|
||||
| KW_WEEKS
|
||||
| KW_DAY
|
||||
| KW_DAYS
|
||||
| KW_HOUR
|
||||
| KW_HOURS
|
||||
| KW_MINUTE
|
||||
| KW_MINUTES
|
||||
| KW_SECOND
|
||||
| KW_SECONDS
|
||||
| KW_MILLISECOND
|
||||
| KW_MICROSECOND
|
||||
| KW_NANOSECOND
|
||||
| KW_EPOCH
|
||||
;
|
||||
|
||||
reservedKeywordsUsedAsFuncParam
|
||||
: KW_LEADING
|
||||
| KW_TRAILING
|
||||
| KW_BOTH
|
||||
| KW_ALL
|
||||
| KW_DISTINCT
|
||||
| ASTERISK_SIGN
|
||||
;
|
||||
|
||||
reservedKeywordsUsedAsFuncName
|
||||
: KW_ABS
|
||||
| KW_ARRAY
|
||||
| KW_AVG
|
||||
| KW_CAST
|
||||
| KW_CEIL
|
||||
| KW_COALESCE
|
||||
| KW_COLLECT
|
||||
| KW_COUNT
|
||||
| KW_DATE
|
||||
| KW_GROUPING
|
||||
| KW_HOUR
|
||||
| KW_IF
|
||||
| KW_LAG
|
||||
| KW_LEFT
|
||||
| KW_MAP
|
||||
| KW_MINUTE
|
||||
| KW_MONTH
|
||||
| KW_OVERLAY
|
||||
| KW_POSITION
|
||||
| KW_POWER
|
||||
| KW_QUARTER
|
||||
| KW_RANK
|
||||
| KW_RIGHT
|
||||
| KW_SECOND
|
||||
| KW_SUBSTRING
|
||||
| KW_SUM
|
||||
| KW_TIME
|
||||
| KW_TIMESTAMP
|
||||
| KW_TRUNCATE
|
||||
| KW_UPPER
|
||||
| KW_WEEK
|
||||
| KW_YEAR
|
||||
;
|
||||
|
||||
reservedKeywords
|
||||
: KW_ABS
|
||||
| KW_ALL
|
||||
| ALLOW
|
||||
| KW_ALLOW
|
||||
| KW_ALTER
|
||||
| KW_AND
|
||||
| KW_ANY
|
||||
| KW_ARE
|
||||
| KW_ARRAY
|
||||
| KW_AS
|
||||
| KW_ASYMMETRIC
|
||||
| KW_AT
|
||||
| KW_AVG
|
||||
| KW_BEGIN
|
||||
@ -1053,12 +1168,14 @@ reservedKeywords
|
||||
| KW_SELECT
|
||||
| KW_SET
|
||||
| KW_SHOW
|
||||
| KW_SIMILAR
|
||||
| KW_SKIP
|
||||
| KW_SMALLINT
|
||||
| KW_START
|
||||
| KW_STATIC
|
||||
| KW_SUBSTRING
|
||||
| KW_SUM
|
||||
| KW_SYSTEM_TIME
|
||||
| KW_SYSTEM
|
||||
| KW_SYSTEM_TIME
|
||||
| KW_SYSTEM_USER
|
||||
|
File diff suppressed because one or more lines are too long
@ -174,232 +174,237 @@ KW_YEARS=173
|
||||
KW_ZONE=174
|
||||
KW_ABS=175
|
||||
KW_ALL=176
|
||||
ALLOW=177
|
||||
KW_ALLOW=177
|
||||
KW_ALTER=178
|
||||
KW_AND=179
|
||||
KW_ANY=180
|
||||
KW_ARE=181
|
||||
KW_ARRAY=182
|
||||
KW_AS=183
|
||||
KW_AT=184
|
||||
KW_AVG=185
|
||||
KW_BEGIN=186
|
||||
KW_BETWEEN=187
|
||||
KW_BIGINT=188
|
||||
KW_BINARY=189
|
||||
KW_BIT=190
|
||||
KW_BLOB=191
|
||||
KW_BOOLEAN=192
|
||||
KW_BOTH=193
|
||||
KW_BY=194
|
||||
KW_CALL=195
|
||||
KW_CALLED=196
|
||||
KW_CASCADED=197
|
||||
KW_CASE=198
|
||||
KW_CAST=199
|
||||
KW_CEIL=200
|
||||
KW_CHAR=201
|
||||
KW_CHARACTER=202
|
||||
KW_CHECK=203
|
||||
KW_CLOB=204
|
||||
KW_CLOSE=205
|
||||
KW_COALESCE=206
|
||||
KW_COLLATE=207
|
||||
KW_COLLECT=208
|
||||
KW_COLUMN=209
|
||||
KW_COMMIT=210
|
||||
KW_CONNECT=211
|
||||
KW_CONSTRAINT=212
|
||||
KW_CONTAINS=213
|
||||
KW_CONVERT=214
|
||||
KW_COUNT=215
|
||||
KW_CREATE=216
|
||||
KW_CROSS=217
|
||||
KW_CUBE=218
|
||||
KW_CURRENT=219
|
||||
KW_CURSOR=220
|
||||
KW_CYCLE=221
|
||||
KW_DATE=222
|
||||
KW_DATETIME=223
|
||||
KW_DAY=224
|
||||
KW_DEC=225
|
||||
KW_DECIMAL=226
|
||||
KW_DECLARE=227
|
||||
KW_DEFAULT=228
|
||||
KW_DEFINE=229
|
||||
KW_DELETE=230
|
||||
KW_DESCRIBE=231
|
||||
KW_DISTINCT=232
|
||||
KW_DOUBLE=233
|
||||
KW_DROP=234
|
||||
KW_EACH=235
|
||||
KW_ELSE=236
|
||||
KW_END=237
|
||||
KW_EQUALS=238
|
||||
KW_EXCEPT=239
|
||||
KW_EXECUTE=240
|
||||
KW_EXISTS=241
|
||||
KW_EXPLAIN=242
|
||||
KW_EXTERNAL=243
|
||||
KW_EXTRACT=244
|
||||
KW_FALSE=245
|
||||
KW_FLOAT=246
|
||||
KW_FOR=247
|
||||
KW_FROM=248
|
||||
KW_FULL=249
|
||||
KW_FUNCTION=250
|
||||
KW_GLOBAL=251
|
||||
KW_GRANT=252
|
||||
KW_GROUP=253
|
||||
KW_GROUPING=254
|
||||
KW_GROUPS=255
|
||||
KW_HAVING=256
|
||||
KW_HOUR=257
|
||||
KW_IMPORT=258
|
||||
KW_IN=259
|
||||
KW_INCLUDING=260
|
||||
KW_INNER=261
|
||||
KW_INOUT=262
|
||||
KW_INSERT=263
|
||||
KW_INT=264
|
||||
KW_INTEGER=265
|
||||
KW_INTERSECT=266
|
||||
KW_INTERVAL=267
|
||||
KW_INTO=268
|
||||
KW_IS=269
|
||||
KW_JOIN=270
|
||||
KW_LAG=271
|
||||
KW_LANGUAGE=272
|
||||
KW_LATERAL=273
|
||||
KW_LEADING=274
|
||||
KW_LEFT=275
|
||||
KW_LIKE=276
|
||||
KW_LIMIT=277
|
||||
KW_LOCAL=278
|
||||
KW_MATCH=279
|
||||
KW_MATCH_RECOGNIZE=280
|
||||
KW_MEASURES=281
|
||||
KW_MERGE=282
|
||||
KW_METADATA=283
|
||||
KW_MINUS=284
|
||||
KW_MINUTE=285
|
||||
KW_MODIFIES=286
|
||||
KW_MODULE=287
|
||||
KW_MONTH=288
|
||||
KW_MULTISET=289
|
||||
KW_NATURAL=290
|
||||
KW_NEXT=291
|
||||
KW_NO=292
|
||||
KW_NONE=293
|
||||
KW_NOT=294
|
||||
KW_NULL=295
|
||||
KW_NUMERIC=296
|
||||
KW_OF=297
|
||||
KW_OFFSET=298
|
||||
KW_ON=299
|
||||
KW_ONE=300
|
||||
KW_OR=301
|
||||
KW_ORDER=302
|
||||
KW_OUT=303
|
||||
KW_OUTER=304
|
||||
KW_OVER=305
|
||||
KW_OVERLAY=306
|
||||
KW_PARTITION=307
|
||||
KW_PATTERN=308
|
||||
KW_PER=309
|
||||
KW_PERCENT=310
|
||||
KW_PERIOD=311
|
||||
KW_POSITION=312
|
||||
KW_PRIMARY=313
|
||||
KW_RANGE=314
|
||||
KW_RANK=315
|
||||
KW_RESET=316
|
||||
KW_REVOKE=317
|
||||
KW_RIGHT=318
|
||||
KW_RLIKE=319
|
||||
KW_ROLLBACK=320
|
||||
KW_ROLLUP=321
|
||||
KW_ROW=322
|
||||
KW_ROWS=323
|
||||
KW_SECOND=324
|
||||
KW_SELECT=325
|
||||
KW_SET=326
|
||||
KW_SHOW=327
|
||||
KW_SKIP=328
|
||||
KW_SMALLINT=329
|
||||
KW_START=330
|
||||
KW_STATIC=331
|
||||
KW_SUBSTRING=332
|
||||
KW_SUM=333
|
||||
KW_SYSTEM=334
|
||||
KW_SYSTEM_TIME=335
|
||||
KW_SYSTEM_USER=336
|
||||
KW_TABLE=337
|
||||
KW_TABLESAMPLE=338
|
||||
KW_THEN=339
|
||||
KW_TIME=340
|
||||
KW_TIMESTAMP=341
|
||||
KW_TINYINT=342
|
||||
KW_TO=343
|
||||
KW_TRUE=344
|
||||
KW_TRUNCATE=345
|
||||
KW_UNION=346
|
||||
KW_UNIQUE=347
|
||||
KW_UNKNOWN=348
|
||||
KW_UNNEST=349
|
||||
KW_UPPER=350
|
||||
KW_UPSERT=351
|
||||
KW_USER=352
|
||||
KW_USING=353
|
||||
KW_VALUE=354
|
||||
KW_VALUES=355
|
||||
KW_VARBINARY=356
|
||||
KW_VARCHAR=357
|
||||
KW_WHEN=358
|
||||
KW_WHERE=359
|
||||
KW_WINDOW=360
|
||||
KW_WITH=361
|
||||
KW_WITHIN=362
|
||||
KW_WITHOUT=363
|
||||
KW_YEAR=364
|
||||
EQUAL_SYMBOL=365
|
||||
GREATER_SYMBOL=366
|
||||
LESS_SYMBOL=367
|
||||
EXCLAMATION_SYMBOL=368
|
||||
BIT_NOT_OP=369
|
||||
BIT_OR_OP=370
|
||||
BIT_AND_OP=371
|
||||
BIT_XOR_OP=372
|
||||
DOT=373
|
||||
LS_BRACKET=374
|
||||
RS_BRACKET=375
|
||||
LR_BRACKET=376
|
||||
RR_BRACKET=377
|
||||
LB_BRACKET=378
|
||||
RB_BRACKET=379
|
||||
COMMA=380
|
||||
SEMICOLON=381
|
||||
AT_SIGN=382
|
||||
SINGLE_QUOTE_SYMB=383
|
||||
DOUBLE_QUOTE_SYMB=384
|
||||
REVERSE_QUOTE_SYMB=385
|
||||
COLON_SYMB=386
|
||||
ASTERISK_SIGN=387
|
||||
UNDERLINE_SIGN=388
|
||||
HYPNEN_SIGN=389
|
||||
ADD_SIGN=390
|
||||
PENCENT_SIGN=391
|
||||
DOUBLE_VERTICAL_SIGN=392
|
||||
DOUBLE_HYPNEN_SIGN=393
|
||||
SLASH_SIGN=394
|
||||
QUESTION_MARK_SIGN=395
|
||||
DOUBLE_RIGHT_ARROW=396
|
||||
STRING_LITERAL=397
|
||||
DIG_LITERAL=398
|
||||
REAL_LITERAL=399
|
||||
BIT_STRING=400
|
||||
ID_LITERAL=401
|
||||
FILE_PATH=402
|
||||
KW_ASYMMETRIC=184
|
||||
KW_AT=185
|
||||
KW_AVG=186
|
||||
KW_BEGIN=187
|
||||
KW_BETWEEN=188
|
||||
KW_BIGINT=189
|
||||
KW_BINARY=190
|
||||
KW_BIT=191
|
||||
KW_BLOB=192
|
||||
KW_BOOLEAN=193
|
||||
KW_BOTH=194
|
||||
KW_BY=195
|
||||
KW_CALL=196
|
||||
KW_CALLED=197
|
||||
KW_CASCADED=198
|
||||
KW_CASE=199
|
||||
KW_CAST=200
|
||||
KW_CEIL=201
|
||||
KW_CHAR=202
|
||||
KW_CHARACTER=203
|
||||
KW_CHECK=204
|
||||
KW_CLOB=205
|
||||
KW_CLOSE=206
|
||||
KW_COALESCE=207
|
||||
KW_COLLATE=208
|
||||
KW_COLLECT=209
|
||||
KW_COLUMN=210
|
||||
KW_COMMIT=211
|
||||
KW_CONNECT=212
|
||||
KW_CONSTRAINT=213
|
||||
KW_CONTAINS=214
|
||||
KW_CONVERT=215
|
||||
KW_COUNT=216
|
||||
KW_CREATE=217
|
||||
KW_CROSS=218
|
||||
KW_CUBE=219
|
||||
KW_CURRENT=220
|
||||
KW_CURSOR=221
|
||||
KW_CYCLE=222
|
||||
KW_DATE=223
|
||||
KW_DATETIME=224
|
||||
KW_DAY=225
|
||||
KW_DEC=226
|
||||
KW_DECIMAL=227
|
||||
KW_DECLARE=228
|
||||
KW_DEFAULT=229
|
||||
KW_DEFINE=230
|
||||
KW_DELETE=231
|
||||
KW_DESCRIBE=232
|
||||
KW_DISTINCT=233
|
||||
KW_DOUBLE=234
|
||||
KW_DROP=235
|
||||
KW_EACH=236
|
||||
KW_ELSE=237
|
||||
KW_END=238
|
||||
KW_EQUALS=239
|
||||
KW_ESCAPE=240
|
||||
KW_EXCEPT=241
|
||||
KW_EXECUTE=242
|
||||
KW_EXISTS=243
|
||||
KW_EXPLAIN=244
|
||||
KW_EXTERNAL=245
|
||||
KW_EXTRACT=246
|
||||
KW_FALSE=247
|
||||
KW_FLOAT=248
|
||||
KW_FOR=249
|
||||
KW_FROM=250
|
||||
KW_FULL=251
|
||||
KW_FUNCTION=252
|
||||
KW_GLOBAL=253
|
||||
KW_GRANT=254
|
||||
KW_GROUP=255
|
||||
KW_GROUPING=256
|
||||
KW_GROUPS=257
|
||||
KW_HAVING=258
|
||||
KW_HOUR=259
|
||||
KW_IMPORT=260
|
||||
KW_IN=261
|
||||
KW_INCLUDING=262
|
||||
KW_INNER=263
|
||||
KW_INOUT=264
|
||||
KW_INSERT=265
|
||||
KW_INT=266
|
||||
KW_INTEGER=267
|
||||
KW_INTERSECT=268
|
||||
KW_INTERVAL=269
|
||||
KW_INTO=270
|
||||
KW_IS=271
|
||||
KW_JOIN=272
|
||||
KW_LAG=273
|
||||
KW_LANGUAGE=274
|
||||
KW_LATERAL=275
|
||||
KW_LEADING=276
|
||||
KW_LEFT=277
|
||||
KW_LIKE=278
|
||||
KW_LIMIT=279
|
||||
KW_LOCAL=280
|
||||
KW_MATCH=281
|
||||
KW_MATCH_RECOGNIZE=282
|
||||
KW_MEASURES=283
|
||||
KW_MERGE=284
|
||||
KW_METADATA=285
|
||||
KW_MINUS=286
|
||||
KW_MINUTE=287
|
||||
KW_MODIFIES=288
|
||||
KW_MODULE=289
|
||||
KW_MONTH=290
|
||||
KW_MULTISET=291
|
||||
KW_NATURAL=292
|
||||
KW_NEXT=293
|
||||
KW_NO=294
|
||||
KW_NONE=295
|
||||
KW_NOT=296
|
||||
KW_NULL=297
|
||||
KW_NUMERIC=298
|
||||
KW_OF=299
|
||||
KW_OFFSET=300
|
||||
KW_ON=301
|
||||
KW_ONE=302
|
||||
KW_OR=303
|
||||
KW_ORDER=304
|
||||
KW_OUT=305
|
||||
KW_OUTER=306
|
||||
KW_OVER=307
|
||||
KW_OVERLAY=308
|
||||
KW_PARTITION=309
|
||||
KW_PATTERN=310
|
||||
KW_PER=311
|
||||
KW_PERCENT=312
|
||||
KW_PERIOD=313
|
||||
KW_POSITION=314
|
||||
KW_POWER=315
|
||||
KW_PRIMARY=316
|
||||
KW_RANGE=317
|
||||
KW_RANK=318
|
||||
KW_RESET=319
|
||||
KW_REVOKE=320
|
||||
KW_RIGHT=321
|
||||
KW_RLIKE=322
|
||||
KW_ROLLBACK=323
|
||||
KW_ROLLUP=324
|
||||
KW_ROW=325
|
||||
KW_ROWS=326
|
||||
KW_SECOND=327
|
||||
KW_SELECT=328
|
||||
KW_SET=329
|
||||
KW_SHOW=330
|
||||
KW_SIMILAR=331
|
||||
KW_SKIP=332
|
||||
KW_SMALLINT=333
|
||||
KW_START=334
|
||||
KW_STATIC=335
|
||||
KW_SUBSTRING=336
|
||||
KW_SUM=337
|
||||
KW_SYMMETRIC=338
|
||||
KW_SYSTEM=339
|
||||
KW_SYSTEM_TIME=340
|
||||
KW_SYSTEM_USER=341
|
||||
KW_TABLE=342
|
||||
KW_TABLESAMPLE=343
|
||||
KW_THEN=344
|
||||
KW_TIME=345
|
||||
KW_TIMESTAMP=346
|
||||
KW_TINYINT=347
|
||||
KW_TO=348
|
||||
KW_TRUE=349
|
||||
KW_TRUNCATE=350
|
||||
KW_UNION=351
|
||||
KW_UNIQUE=352
|
||||
KW_UNKNOWN=353
|
||||
KW_UNNEST=354
|
||||
KW_UPPER=355
|
||||
KW_UPSERT=356
|
||||
KW_USER=357
|
||||
KW_USING=358
|
||||
KW_VALUE=359
|
||||
KW_VALUES=360
|
||||
KW_VARBINARY=361
|
||||
KW_VARCHAR=362
|
||||
KW_WHEN=363
|
||||
KW_WHERE=364
|
||||
KW_WINDOW=365
|
||||
KW_WITH=366
|
||||
KW_WITHIN=367
|
||||
KW_WITHOUT=368
|
||||
KW_YEAR=369
|
||||
EQUAL_SYMBOL=370
|
||||
GREATER_SYMBOL=371
|
||||
LESS_SYMBOL=372
|
||||
EXCLAMATION_SYMBOL=373
|
||||
BIT_NOT_OP=374
|
||||
BIT_OR_OP=375
|
||||
BIT_AND_OP=376
|
||||
BIT_XOR_OP=377
|
||||
DOT=378
|
||||
LS_BRACKET=379
|
||||
RS_BRACKET=380
|
||||
LR_BRACKET=381
|
||||
RR_BRACKET=382
|
||||
LB_BRACKET=383
|
||||
RB_BRACKET=384
|
||||
COMMA=385
|
||||
SEMICOLON=386
|
||||
AT_SIGN=387
|
||||
SINGLE_QUOTE_SYMB=388
|
||||
DOUBLE_QUOTE_SYMB=389
|
||||
REVERSE_QUOTE_SYMB=390
|
||||
COLON_SYMB=391
|
||||
ASTERISK_SIGN=392
|
||||
UNDERLINE_SIGN=393
|
||||
HYPNEN_SIGN=394
|
||||
ADD_SIGN=395
|
||||
PENCENT_SIGN=396
|
||||
DOUBLE_VERTICAL_SIGN=397
|
||||
DOUBLE_HYPNEN_SIGN=398
|
||||
SLASH_SIGN=399
|
||||
QUESTION_MARK_SIGN=400
|
||||
DOUBLE_RIGHT_ARROW=401
|
||||
STRING_LITERAL=402
|
||||
DIG_LITERAL=403
|
||||
REAL_LITERAL=404
|
||||
BIT_STRING=405
|
||||
ID_LITERAL=406
|
||||
FILE_PATH=407
|
||||
'ADD'=4
|
||||
'ADMIN'=5
|
||||
'AFTER'=6
|
||||
@ -580,216 +585,221 @@ FILE_PATH=402
|
||||
'ARE'=181
|
||||
'ARRAY'=182
|
||||
'AS'=183
|
||||
'AT'=184
|
||||
'AVG'=185
|
||||
'BEGIN'=186
|
||||
'BETWEEN'=187
|
||||
'BIGINT'=188
|
||||
'BINARY'=189
|
||||
'BIT'=190
|
||||
'BLOB'=191
|
||||
'BOOLEAN'=192
|
||||
'BOTH'=193
|
||||
'BY'=194
|
||||
'CALL'=195
|
||||
'CALLED'=196
|
||||
'CASCADED'=197
|
||||
'CASE'=198
|
||||
'CAST'=199
|
||||
'CEIL'=200
|
||||
'CHAR'=201
|
||||
'CHARACTER'=202
|
||||
'CHECK'=203
|
||||
'CLOB'=204
|
||||
'CLOSE'=205
|
||||
'COALESCE'=206
|
||||
'COLLATE'=207
|
||||
'COLLECT'=208
|
||||
'COLUMN'=209
|
||||
'COMMIT'=210
|
||||
'CONNECT'=211
|
||||
'CONSTRAINT'=212
|
||||
'CONTAINS'=213
|
||||
'CONVERT'=214
|
||||
'COUNT'=215
|
||||
'CREATE'=216
|
||||
'CROSS'=217
|
||||
'CUBE'=218
|
||||
'CURRENT'=219
|
||||
'CURSOR'=220
|
||||
'CYCLE'=221
|
||||
'DATE'=222
|
||||
'DATETIME'=223
|
||||
'DAY'=224
|
||||
'DEC'=225
|
||||
'DECIMAL'=226
|
||||
'DECLARE'=227
|
||||
'DEFAULT'=228
|
||||
'DEFINE'=229
|
||||
'DELETE'=230
|
||||
'DESCRIBE'=231
|
||||
'DISTINCT'=232
|
||||
'DOUBLE'=233
|
||||
'DROP'=234
|
||||
'EACH'=235
|
||||
'ELSE'=236
|
||||
'END'=237
|
||||
'EQUALS'=238
|
||||
'EXCEPT'=239
|
||||
'EXECUTE'=240
|
||||
'EXISTS'=241
|
||||
'EXPLAIN'=242
|
||||
'EXTERNAL'=243
|
||||
'EXTRACT'=244
|
||||
'FALSE'=245
|
||||
'FLOAT'=246
|
||||
'FOR'=247
|
||||
'FROM'=248
|
||||
'FULL'=249
|
||||
'FUNCTION'=250
|
||||
'GLOBAL'=251
|
||||
'GRANT'=252
|
||||
'GROUP'=253
|
||||
'GROUPING'=254
|
||||
'GROUPS'=255
|
||||
'HAVING'=256
|
||||
'HOUR'=257
|
||||
'IMPORT'=258
|
||||
'IN'=259
|
||||
'INCLUDING'=260
|
||||
'INNER'=261
|
||||
'INOUT'=262
|
||||
'INSERT'=263
|
||||
'INT'=264
|
||||
'INTEGER'=265
|
||||
'INTERSECT'=266
|
||||
'INTERVAL'=267
|
||||
'INTO'=268
|
||||
'IS'=269
|
||||
'JOIN'=270
|
||||
'LAG'=271
|
||||
'LANGUAGE'=272
|
||||
'LATERAL'=273
|
||||
'LEADING'=274
|
||||
'LEFT'=275
|
||||
'LIKE'=276
|
||||
'LIMIT'=277
|
||||
'LOCAL'=278
|
||||
'MATCH'=279
|
||||
'MATCH_RECOGNIZE'=280
|
||||
'MEASURES'=281
|
||||
'MERGE'=282
|
||||
'METADATA'=283
|
||||
'MINUS'=284
|
||||
'MINUTE'=285
|
||||
'MODIFIES'=286
|
||||
'MODULE'=287
|
||||
'MONTH'=288
|
||||
'MULTISET'=289
|
||||
'NATURAL'=290
|
||||
'NEXT'=291
|
||||
'NO'=292
|
||||
'NONE'=293
|
||||
'NOT'=294
|
||||
'NULL'=295
|
||||
'NUMERIC'=296
|
||||
'OF'=297
|
||||
'OFFSET'=298
|
||||
'ON'=299
|
||||
'ONE'=300
|
||||
'OR'=301
|
||||
'ORDER'=302
|
||||
'OUT'=303
|
||||
'OUTER'=304
|
||||
'OVER'=305
|
||||
'OVERLAY'=306
|
||||
'PARTITION'=307
|
||||
'PATTERN'=308
|
||||
'PER'=309
|
||||
'PERCENT'=310
|
||||
'PERIOD'=311
|
||||
'POSITION'=312
|
||||
'PRIMARY'=313
|
||||
'RANGE'=314
|
||||
'RANK'=315
|
||||
'RESET'=316
|
||||
'REVOKE'=317
|
||||
'RIGHT'=318
|
||||
'RLIKE'=319
|
||||
'ROLLBACK'=320
|
||||
'ROLLUP'=321
|
||||
'ROW'=322
|
||||
'ROWS'=323
|
||||
'SECOND'=324
|
||||
'SELECT'=325
|
||||
'SET'=326
|
||||
'SHOW'=327
|
||||
'SKIP'=328
|
||||
'SMALLINT'=329
|
||||
'START'=330
|
||||
'STATIC'=331
|
||||
'SUBSTRING'=332
|
||||
'SUM'=333
|
||||
'SYSTEM'=334
|
||||
'SYSTEM_TIME'=335
|
||||
'SYSTEM_USER'=336
|
||||
'TABLE'=337
|
||||
'TABLESAMPLE'=338
|
||||
'THEN'=339
|
||||
'TIME'=340
|
||||
'TIMESTAMP'=341
|
||||
'TINYINT'=342
|
||||
'TO'=343
|
||||
'TRUE'=344
|
||||
'TRUNCATE'=345
|
||||
'UNION'=346
|
||||
'UNIQUE'=347
|
||||
'UNKNOWN'=348
|
||||
'UNNEST'=349
|
||||
'UPPER'=350
|
||||
'UPSERT'=351
|
||||
'USER'=352
|
||||
'USING'=353
|
||||
'VALUE'=354
|
||||
'VALUES'=355
|
||||
'VARBINARY'=356
|
||||
'VARCHAR'=357
|
||||
'WHEN'=358
|
||||
'WHERE'=359
|
||||
'WINDOW'=360
|
||||
'WITH'=361
|
||||
'WITHIN'=362
|
||||
'WITHOUT'=363
|
||||
'YEAR'=364
|
||||
'='=365
|
||||
'>'=366
|
||||
'<'=367
|
||||
'!'=368
|
||||
'~'=369
|
||||
'|'=370
|
||||
'&'=371
|
||||
'^'=372
|
||||
'.'=373
|
||||
'['=374
|
||||
']'=375
|
||||
'('=376
|
||||
')'=377
|
||||
'{'=378
|
||||
'}'=379
|
||||
','=380
|
||||
';'=381
|
||||
'@'=382
|
||||
'\''=383
|
||||
'"'=384
|
||||
'`'=385
|
||||
':'=386
|
||||
'*'=387
|
||||
'_'=388
|
||||
'-'=389
|
||||
'+'=390
|
||||
'%'=391
|
||||
'||'=392
|
||||
'--'=393
|
||||
'/'=394
|
||||
'?'=395
|
||||
'=>'=396
|
||||
'ASYMMETRIC'=184
|
||||
'AT'=185
|
||||
'AVG'=186
|
||||
'BEGIN'=187
|
||||
'BETWEEN'=188
|
||||
'BIGINT'=189
|
||||
'BINARY'=190
|
||||
'BIT'=191
|
||||
'BLOB'=192
|
||||
'BOOLEAN'=193
|
||||
'BOTH'=194
|
||||
'BY'=195
|
||||
'CALL'=196
|
||||
'CALLED'=197
|
||||
'CASCADED'=198
|
||||
'CASE'=199
|
||||
'CAST'=200
|
||||
'CEIL'=201
|
||||
'CHAR'=202
|
||||
'CHARACTER'=203
|
||||
'CHECK'=204
|
||||
'CLOB'=205
|
||||
'CLOSE'=206
|
||||
'COALESCE'=207
|
||||
'COLLATE'=208
|
||||
'COLLECT'=209
|
||||
'COLUMN'=210
|
||||
'COMMIT'=211
|
||||
'CONNECT'=212
|
||||
'CONSTRAINT'=213
|
||||
'CONTAINS'=214
|
||||
'CONVERT'=215
|
||||
'COUNT'=216
|
||||
'CREATE'=217
|
||||
'CROSS'=218
|
||||
'CUBE'=219
|
||||
'CURRENT'=220
|
||||
'CURSOR'=221
|
||||
'CYCLE'=222
|
||||
'DATE'=223
|
||||
'DATETIME'=224
|
||||
'DAY'=225
|
||||
'DEC'=226
|
||||
'DECIMAL'=227
|
||||
'DECLARE'=228
|
||||
'DEFAULT'=229
|
||||
'DEFINE'=230
|
||||
'DELETE'=231
|
||||
'DESCRIBE'=232
|
||||
'DISTINCT'=233
|
||||
'DOUBLE'=234
|
||||
'DROP'=235
|
||||
'EACH'=236
|
||||
'ELSE'=237
|
||||
'END'=238
|
||||
'EQUALS'=239
|
||||
'ESCAPE'=240
|
||||
'EXCEPT'=241
|
||||
'EXECUTE'=242
|
||||
'EXISTS'=243
|
||||
'EXPLAIN'=244
|
||||
'EXTERNAL'=245
|
||||
'EXTRACT'=246
|
||||
'FALSE'=247
|
||||
'FLOAT'=248
|
||||
'FOR'=249
|
||||
'FROM'=250
|
||||
'FULL'=251
|
||||
'FUNCTION'=252
|
||||
'GLOBAL'=253
|
||||
'GRANT'=254
|
||||
'GROUP'=255
|
||||
'GROUPING'=256
|
||||
'GROUPS'=257
|
||||
'HAVING'=258
|
||||
'HOUR'=259
|
||||
'IMPORT'=260
|
||||
'IN'=261
|
||||
'INCLUDING'=262
|
||||
'INNER'=263
|
||||
'INOUT'=264
|
||||
'INSERT'=265
|
||||
'INT'=266
|
||||
'INTEGER'=267
|
||||
'INTERSECT'=268
|
||||
'INTERVAL'=269
|
||||
'INTO'=270
|
||||
'IS'=271
|
||||
'JOIN'=272
|
||||
'LAG'=273
|
||||
'LANGUAGE'=274
|
||||
'LATERAL'=275
|
||||
'LEADING'=276
|
||||
'LEFT'=277
|
||||
'LIKE'=278
|
||||
'LIMIT'=279
|
||||
'LOCAL'=280
|
||||
'MATCH'=281
|
||||
'MATCH_RECOGNIZE'=282
|
||||
'MEASURES'=283
|
||||
'MERGE'=284
|
||||
'METADATA'=285
|
||||
'MINUS'=286
|
||||
'MINUTE'=287
|
||||
'MODIFIES'=288
|
||||
'MODULE'=289
|
||||
'MONTH'=290
|
||||
'MULTISET'=291
|
||||
'NATURAL'=292
|
||||
'NEXT'=293
|
||||
'NO'=294
|
||||
'NONE'=295
|
||||
'NOT'=296
|
||||
'NULL'=297
|
||||
'NUMERIC'=298
|
||||
'OF'=299
|
||||
'OFFSET'=300
|
||||
'ON'=301
|
||||
'ONE'=302
|
||||
'OR'=303
|
||||
'ORDER'=304
|
||||
'OUT'=305
|
||||
'OUTER'=306
|
||||
'OVER'=307
|
||||
'OVERLAY'=308
|
||||
'PARTITION'=309
|
||||
'PATTERN'=310
|
||||
'PER'=311
|
||||
'PERCENT'=312
|
||||
'PERIOD'=313
|
||||
'POSITION'=314
|
||||
'POWER'=315
|
||||
'PRIMARY'=316
|
||||
'RANGE'=317
|
||||
'RANK'=318
|
||||
'RESET'=319
|
||||
'REVOKE'=320
|
||||
'RIGHT'=321
|
||||
'RLIKE'=322
|
||||
'ROLLBACK'=323
|
||||
'ROLLUP'=324
|
||||
'ROW'=325
|
||||
'ROWS'=326
|
||||
'SECOND'=327
|
||||
'SELECT'=328
|
||||
'SET'=329
|
||||
'SHOW'=330
|
||||
'SIMILAR'=331
|
||||
'SKIP'=332
|
||||
'SMALLINT'=333
|
||||
'START'=334
|
||||
'STATIC'=335
|
||||
'SUBSTRING'=336
|
||||
'SUM'=337
|
||||
'SYMMETRIC'=338
|
||||
'SYSTEM'=339
|
||||
'SYSTEM_TIME'=340
|
||||
'SYSTEM_USER'=341
|
||||
'TABLE'=342
|
||||
'TABLESAMPLE'=343
|
||||
'THEN'=344
|
||||
'TIME'=345
|
||||
'TIMESTAMP'=346
|
||||
'TINYINT'=347
|
||||
'TO'=348
|
||||
'TRUE'=349
|
||||
'TRUNCATE'=350
|
||||
'UNION'=351
|
||||
'UNIQUE'=352
|
||||
'UNKNOWN'=353
|
||||
'UNNEST'=354
|
||||
'UPPER'=355
|
||||
'UPSERT'=356
|
||||
'USER'=357
|
||||
'USING'=358
|
||||
'VALUE'=359
|
||||
'VALUES'=360
|
||||
'VARBINARY'=361
|
||||
'VARCHAR'=362
|
||||
'WHEN'=363
|
||||
'WHERE'=364
|
||||
'WINDOW'=365
|
||||
'WITH'=366
|
||||
'WITHIN'=367
|
||||
'WITHOUT'=368
|
||||
'YEAR'=369
|
||||
'='=370
|
||||
'>'=371
|
||||
'<'=372
|
||||
'!'=373
|
||||
'~'=374
|
||||
'|'=375
|
||||
'&'=376
|
||||
'^'=377
|
||||
'.'=378
|
||||
'['=379
|
||||
']'=380
|
||||
'('=381
|
||||
')'=382
|
||||
'{'=383
|
||||
'}'=384
|
||||
','=385
|
||||
';'=386
|
||||
'@'=387
|
||||
'\''=388
|
||||
'"'=389
|
||||
'`'=390
|
||||
':'=391
|
||||
'*'=392
|
||||
'_'=393
|
||||
'-'=394
|
||||
'+'=395
|
||||
'%'=396
|
||||
'||'=397
|
||||
'--'=398
|
||||
'/'=399
|
||||
'?'=400
|
||||
'=>'=401
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -174,232 +174,237 @@ KW_YEARS=173
|
||||
KW_ZONE=174
|
||||
KW_ABS=175
|
||||
KW_ALL=176
|
||||
ALLOW=177
|
||||
KW_ALLOW=177
|
||||
KW_ALTER=178
|
||||
KW_AND=179
|
||||
KW_ANY=180
|
||||
KW_ARE=181
|
||||
KW_ARRAY=182
|
||||
KW_AS=183
|
||||
KW_AT=184
|
||||
KW_AVG=185
|
||||
KW_BEGIN=186
|
||||
KW_BETWEEN=187
|
||||
KW_BIGINT=188
|
||||
KW_BINARY=189
|
||||
KW_BIT=190
|
||||
KW_BLOB=191
|
||||
KW_BOOLEAN=192
|
||||
KW_BOTH=193
|
||||
KW_BY=194
|
||||
KW_CALL=195
|
||||
KW_CALLED=196
|
||||
KW_CASCADED=197
|
||||
KW_CASE=198
|
||||
KW_CAST=199
|
||||
KW_CEIL=200
|
||||
KW_CHAR=201
|
||||
KW_CHARACTER=202
|
||||
KW_CHECK=203
|
||||
KW_CLOB=204
|
||||
KW_CLOSE=205
|
||||
KW_COALESCE=206
|
||||
KW_COLLATE=207
|
||||
KW_COLLECT=208
|
||||
KW_COLUMN=209
|
||||
KW_COMMIT=210
|
||||
KW_CONNECT=211
|
||||
KW_CONSTRAINT=212
|
||||
KW_CONTAINS=213
|
||||
KW_CONVERT=214
|
||||
KW_COUNT=215
|
||||
KW_CREATE=216
|
||||
KW_CROSS=217
|
||||
KW_CUBE=218
|
||||
KW_CURRENT=219
|
||||
KW_CURSOR=220
|
||||
KW_CYCLE=221
|
||||
KW_DATE=222
|
||||
KW_DATETIME=223
|
||||
KW_DAY=224
|
||||
KW_DEC=225
|
||||
KW_DECIMAL=226
|
||||
KW_DECLARE=227
|
||||
KW_DEFAULT=228
|
||||
KW_DEFINE=229
|
||||
KW_DELETE=230
|
||||
KW_DESCRIBE=231
|
||||
KW_DISTINCT=232
|
||||
KW_DOUBLE=233
|
||||
KW_DROP=234
|
||||
KW_EACH=235
|
||||
KW_ELSE=236
|
||||
KW_END=237
|
||||
KW_EQUALS=238
|
||||
KW_EXCEPT=239
|
||||
KW_EXECUTE=240
|
||||
KW_EXISTS=241
|
||||
KW_EXPLAIN=242
|
||||
KW_EXTERNAL=243
|
||||
KW_EXTRACT=244
|
||||
KW_FALSE=245
|
||||
KW_FLOAT=246
|
||||
KW_FOR=247
|
||||
KW_FROM=248
|
||||
KW_FULL=249
|
||||
KW_FUNCTION=250
|
||||
KW_GLOBAL=251
|
||||
KW_GRANT=252
|
||||
KW_GROUP=253
|
||||
KW_GROUPING=254
|
||||
KW_GROUPS=255
|
||||
KW_HAVING=256
|
||||
KW_HOUR=257
|
||||
KW_IMPORT=258
|
||||
KW_IN=259
|
||||
KW_INCLUDING=260
|
||||
KW_INNER=261
|
||||
KW_INOUT=262
|
||||
KW_INSERT=263
|
||||
KW_INT=264
|
||||
KW_INTEGER=265
|
||||
KW_INTERSECT=266
|
||||
KW_INTERVAL=267
|
||||
KW_INTO=268
|
||||
KW_IS=269
|
||||
KW_JOIN=270
|
||||
KW_LAG=271
|
||||
KW_LANGUAGE=272
|
||||
KW_LATERAL=273
|
||||
KW_LEADING=274
|
||||
KW_LEFT=275
|
||||
KW_LIKE=276
|
||||
KW_LIMIT=277
|
||||
KW_LOCAL=278
|
||||
KW_MATCH=279
|
||||
KW_MATCH_RECOGNIZE=280
|
||||
KW_MEASURES=281
|
||||
KW_MERGE=282
|
||||
KW_METADATA=283
|
||||
KW_MINUS=284
|
||||
KW_MINUTE=285
|
||||
KW_MODIFIES=286
|
||||
KW_MODULE=287
|
||||
KW_MONTH=288
|
||||
KW_MULTISET=289
|
||||
KW_NATURAL=290
|
||||
KW_NEXT=291
|
||||
KW_NO=292
|
||||
KW_NONE=293
|
||||
KW_NOT=294
|
||||
KW_NULL=295
|
||||
KW_NUMERIC=296
|
||||
KW_OF=297
|
||||
KW_OFFSET=298
|
||||
KW_ON=299
|
||||
KW_ONE=300
|
||||
KW_OR=301
|
||||
KW_ORDER=302
|
||||
KW_OUT=303
|
||||
KW_OUTER=304
|
||||
KW_OVER=305
|
||||
KW_OVERLAY=306
|
||||
KW_PARTITION=307
|
||||
KW_PATTERN=308
|
||||
KW_PER=309
|
||||
KW_PERCENT=310
|
||||
KW_PERIOD=311
|
||||
KW_POSITION=312
|
||||
KW_PRIMARY=313
|
||||
KW_RANGE=314
|
||||
KW_RANK=315
|
||||
KW_RESET=316
|
||||
KW_REVOKE=317
|
||||
KW_RIGHT=318
|
||||
KW_RLIKE=319
|
||||
KW_ROLLBACK=320
|
||||
KW_ROLLUP=321
|
||||
KW_ROW=322
|
||||
KW_ROWS=323
|
||||
KW_SECOND=324
|
||||
KW_SELECT=325
|
||||
KW_SET=326
|
||||
KW_SHOW=327
|
||||
KW_SKIP=328
|
||||
KW_SMALLINT=329
|
||||
KW_START=330
|
||||
KW_STATIC=331
|
||||
KW_SUBSTRING=332
|
||||
KW_SUM=333
|
||||
KW_SYSTEM=334
|
||||
KW_SYSTEM_TIME=335
|
||||
KW_SYSTEM_USER=336
|
||||
KW_TABLE=337
|
||||
KW_TABLESAMPLE=338
|
||||
KW_THEN=339
|
||||
KW_TIME=340
|
||||
KW_TIMESTAMP=341
|
||||
KW_TINYINT=342
|
||||
KW_TO=343
|
||||
KW_TRUE=344
|
||||
KW_TRUNCATE=345
|
||||
KW_UNION=346
|
||||
KW_UNIQUE=347
|
||||
KW_UNKNOWN=348
|
||||
KW_UNNEST=349
|
||||
KW_UPPER=350
|
||||
KW_UPSERT=351
|
||||
KW_USER=352
|
||||
KW_USING=353
|
||||
KW_VALUE=354
|
||||
KW_VALUES=355
|
||||
KW_VARBINARY=356
|
||||
KW_VARCHAR=357
|
||||
KW_WHEN=358
|
||||
KW_WHERE=359
|
||||
KW_WINDOW=360
|
||||
KW_WITH=361
|
||||
KW_WITHIN=362
|
||||
KW_WITHOUT=363
|
||||
KW_YEAR=364
|
||||
EQUAL_SYMBOL=365
|
||||
GREATER_SYMBOL=366
|
||||
LESS_SYMBOL=367
|
||||
EXCLAMATION_SYMBOL=368
|
||||
BIT_NOT_OP=369
|
||||
BIT_OR_OP=370
|
||||
BIT_AND_OP=371
|
||||
BIT_XOR_OP=372
|
||||
DOT=373
|
||||
LS_BRACKET=374
|
||||
RS_BRACKET=375
|
||||
LR_BRACKET=376
|
||||
RR_BRACKET=377
|
||||
LB_BRACKET=378
|
||||
RB_BRACKET=379
|
||||
COMMA=380
|
||||
SEMICOLON=381
|
||||
AT_SIGN=382
|
||||
SINGLE_QUOTE_SYMB=383
|
||||
DOUBLE_QUOTE_SYMB=384
|
||||
REVERSE_QUOTE_SYMB=385
|
||||
COLON_SYMB=386
|
||||
ASTERISK_SIGN=387
|
||||
UNDERLINE_SIGN=388
|
||||
HYPNEN_SIGN=389
|
||||
ADD_SIGN=390
|
||||
PENCENT_SIGN=391
|
||||
DOUBLE_VERTICAL_SIGN=392
|
||||
DOUBLE_HYPNEN_SIGN=393
|
||||
SLASH_SIGN=394
|
||||
QUESTION_MARK_SIGN=395
|
||||
DOUBLE_RIGHT_ARROW=396
|
||||
STRING_LITERAL=397
|
||||
DIG_LITERAL=398
|
||||
REAL_LITERAL=399
|
||||
BIT_STRING=400
|
||||
ID_LITERAL=401
|
||||
FILE_PATH=402
|
||||
KW_ASYMMETRIC=184
|
||||
KW_AT=185
|
||||
KW_AVG=186
|
||||
KW_BEGIN=187
|
||||
KW_BETWEEN=188
|
||||
KW_BIGINT=189
|
||||
KW_BINARY=190
|
||||
KW_BIT=191
|
||||
KW_BLOB=192
|
||||
KW_BOOLEAN=193
|
||||
KW_BOTH=194
|
||||
KW_BY=195
|
||||
KW_CALL=196
|
||||
KW_CALLED=197
|
||||
KW_CASCADED=198
|
||||
KW_CASE=199
|
||||
KW_CAST=200
|
||||
KW_CEIL=201
|
||||
KW_CHAR=202
|
||||
KW_CHARACTER=203
|
||||
KW_CHECK=204
|
||||
KW_CLOB=205
|
||||
KW_CLOSE=206
|
||||
KW_COALESCE=207
|
||||
KW_COLLATE=208
|
||||
KW_COLLECT=209
|
||||
KW_COLUMN=210
|
||||
KW_COMMIT=211
|
||||
KW_CONNECT=212
|
||||
KW_CONSTRAINT=213
|
||||
KW_CONTAINS=214
|
||||
KW_CONVERT=215
|
||||
KW_COUNT=216
|
||||
KW_CREATE=217
|
||||
KW_CROSS=218
|
||||
KW_CUBE=219
|
||||
KW_CURRENT=220
|
||||
KW_CURSOR=221
|
||||
KW_CYCLE=222
|
||||
KW_DATE=223
|
||||
KW_DATETIME=224
|
||||
KW_DAY=225
|
||||
KW_DEC=226
|
||||
KW_DECIMAL=227
|
||||
KW_DECLARE=228
|
||||
KW_DEFAULT=229
|
||||
KW_DEFINE=230
|
||||
KW_DELETE=231
|
||||
KW_DESCRIBE=232
|
||||
KW_DISTINCT=233
|
||||
KW_DOUBLE=234
|
||||
KW_DROP=235
|
||||
KW_EACH=236
|
||||
KW_ELSE=237
|
||||
KW_END=238
|
||||
KW_EQUALS=239
|
||||
KW_ESCAPE=240
|
||||
KW_EXCEPT=241
|
||||
KW_EXECUTE=242
|
||||
KW_EXISTS=243
|
||||
KW_EXPLAIN=244
|
||||
KW_EXTERNAL=245
|
||||
KW_EXTRACT=246
|
||||
KW_FALSE=247
|
||||
KW_FLOAT=248
|
||||
KW_FOR=249
|
||||
KW_FROM=250
|
||||
KW_FULL=251
|
||||
KW_FUNCTION=252
|
||||
KW_GLOBAL=253
|
||||
KW_GRANT=254
|
||||
KW_GROUP=255
|
||||
KW_GROUPING=256
|
||||
KW_GROUPS=257
|
||||
KW_HAVING=258
|
||||
KW_HOUR=259
|
||||
KW_IMPORT=260
|
||||
KW_IN=261
|
||||
KW_INCLUDING=262
|
||||
KW_INNER=263
|
||||
KW_INOUT=264
|
||||
KW_INSERT=265
|
||||
KW_INT=266
|
||||
KW_INTEGER=267
|
||||
KW_INTERSECT=268
|
||||
KW_INTERVAL=269
|
||||
KW_INTO=270
|
||||
KW_IS=271
|
||||
KW_JOIN=272
|
||||
KW_LAG=273
|
||||
KW_LANGUAGE=274
|
||||
KW_LATERAL=275
|
||||
KW_LEADING=276
|
||||
KW_LEFT=277
|
||||
KW_LIKE=278
|
||||
KW_LIMIT=279
|
||||
KW_LOCAL=280
|
||||
KW_MATCH=281
|
||||
KW_MATCH_RECOGNIZE=282
|
||||
KW_MEASURES=283
|
||||
KW_MERGE=284
|
||||
KW_METADATA=285
|
||||
KW_MINUS=286
|
||||
KW_MINUTE=287
|
||||
KW_MODIFIES=288
|
||||
KW_MODULE=289
|
||||
KW_MONTH=290
|
||||
KW_MULTISET=291
|
||||
KW_NATURAL=292
|
||||
KW_NEXT=293
|
||||
KW_NO=294
|
||||
KW_NONE=295
|
||||
KW_NOT=296
|
||||
KW_NULL=297
|
||||
KW_NUMERIC=298
|
||||
KW_OF=299
|
||||
KW_OFFSET=300
|
||||
KW_ON=301
|
||||
KW_ONE=302
|
||||
KW_OR=303
|
||||
KW_ORDER=304
|
||||
KW_OUT=305
|
||||
KW_OUTER=306
|
||||
KW_OVER=307
|
||||
KW_OVERLAY=308
|
||||
KW_PARTITION=309
|
||||
KW_PATTERN=310
|
||||
KW_PER=311
|
||||
KW_PERCENT=312
|
||||
KW_PERIOD=313
|
||||
KW_POSITION=314
|
||||
KW_POWER=315
|
||||
KW_PRIMARY=316
|
||||
KW_RANGE=317
|
||||
KW_RANK=318
|
||||
KW_RESET=319
|
||||
KW_REVOKE=320
|
||||
KW_RIGHT=321
|
||||
KW_RLIKE=322
|
||||
KW_ROLLBACK=323
|
||||
KW_ROLLUP=324
|
||||
KW_ROW=325
|
||||
KW_ROWS=326
|
||||
KW_SECOND=327
|
||||
KW_SELECT=328
|
||||
KW_SET=329
|
||||
KW_SHOW=330
|
||||
KW_SIMILAR=331
|
||||
KW_SKIP=332
|
||||
KW_SMALLINT=333
|
||||
KW_START=334
|
||||
KW_STATIC=335
|
||||
KW_SUBSTRING=336
|
||||
KW_SUM=337
|
||||
KW_SYMMETRIC=338
|
||||
KW_SYSTEM=339
|
||||
KW_SYSTEM_TIME=340
|
||||
KW_SYSTEM_USER=341
|
||||
KW_TABLE=342
|
||||
KW_TABLESAMPLE=343
|
||||
KW_THEN=344
|
||||
KW_TIME=345
|
||||
KW_TIMESTAMP=346
|
||||
KW_TINYINT=347
|
||||
KW_TO=348
|
||||
KW_TRUE=349
|
||||
KW_TRUNCATE=350
|
||||
KW_UNION=351
|
||||
KW_UNIQUE=352
|
||||
KW_UNKNOWN=353
|
||||
KW_UNNEST=354
|
||||
KW_UPPER=355
|
||||
KW_UPSERT=356
|
||||
KW_USER=357
|
||||
KW_USING=358
|
||||
KW_VALUE=359
|
||||
KW_VALUES=360
|
||||
KW_VARBINARY=361
|
||||
KW_VARCHAR=362
|
||||
KW_WHEN=363
|
||||
KW_WHERE=364
|
||||
KW_WINDOW=365
|
||||
KW_WITH=366
|
||||
KW_WITHIN=367
|
||||
KW_WITHOUT=368
|
||||
KW_YEAR=369
|
||||
EQUAL_SYMBOL=370
|
||||
GREATER_SYMBOL=371
|
||||
LESS_SYMBOL=372
|
||||
EXCLAMATION_SYMBOL=373
|
||||
BIT_NOT_OP=374
|
||||
BIT_OR_OP=375
|
||||
BIT_AND_OP=376
|
||||
BIT_XOR_OP=377
|
||||
DOT=378
|
||||
LS_BRACKET=379
|
||||
RS_BRACKET=380
|
||||
LR_BRACKET=381
|
||||
RR_BRACKET=382
|
||||
LB_BRACKET=383
|
||||
RB_BRACKET=384
|
||||
COMMA=385
|
||||
SEMICOLON=386
|
||||
AT_SIGN=387
|
||||
SINGLE_QUOTE_SYMB=388
|
||||
DOUBLE_QUOTE_SYMB=389
|
||||
REVERSE_QUOTE_SYMB=390
|
||||
COLON_SYMB=391
|
||||
ASTERISK_SIGN=392
|
||||
UNDERLINE_SIGN=393
|
||||
HYPNEN_SIGN=394
|
||||
ADD_SIGN=395
|
||||
PENCENT_SIGN=396
|
||||
DOUBLE_VERTICAL_SIGN=397
|
||||
DOUBLE_HYPNEN_SIGN=398
|
||||
SLASH_SIGN=399
|
||||
QUESTION_MARK_SIGN=400
|
||||
DOUBLE_RIGHT_ARROW=401
|
||||
STRING_LITERAL=402
|
||||
DIG_LITERAL=403
|
||||
REAL_LITERAL=404
|
||||
BIT_STRING=405
|
||||
ID_LITERAL=406
|
||||
FILE_PATH=407
|
||||
'ADD'=4
|
||||
'ADMIN'=5
|
||||
'AFTER'=6
|
||||
@ -580,216 +585,221 @@ FILE_PATH=402
|
||||
'ARE'=181
|
||||
'ARRAY'=182
|
||||
'AS'=183
|
||||
'AT'=184
|
||||
'AVG'=185
|
||||
'BEGIN'=186
|
||||
'BETWEEN'=187
|
||||
'BIGINT'=188
|
||||
'BINARY'=189
|
||||
'BIT'=190
|
||||
'BLOB'=191
|
||||
'BOOLEAN'=192
|
||||
'BOTH'=193
|
||||
'BY'=194
|
||||
'CALL'=195
|
||||
'CALLED'=196
|
||||
'CASCADED'=197
|
||||
'CASE'=198
|
||||
'CAST'=199
|
||||
'CEIL'=200
|
||||
'CHAR'=201
|
||||
'CHARACTER'=202
|
||||
'CHECK'=203
|
||||
'CLOB'=204
|
||||
'CLOSE'=205
|
||||
'COALESCE'=206
|
||||
'COLLATE'=207
|
||||
'COLLECT'=208
|
||||
'COLUMN'=209
|
||||
'COMMIT'=210
|
||||
'CONNECT'=211
|
||||
'CONSTRAINT'=212
|
||||
'CONTAINS'=213
|
||||
'CONVERT'=214
|
||||
'COUNT'=215
|
||||
'CREATE'=216
|
||||
'CROSS'=217
|
||||
'CUBE'=218
|
||||
'CURRENT'=219
|
||||
'CURSOR'=220
|
||||
'CYCLE'=221
|
||||
'DATE'=222
|
||||
'DATETIME'=223
|
||||
'DAY'=224
|
||||
'DEC'=225
|
||||
'DECIMAL'=226
|
||||
'DECLARE'=227
|
||||
'DEFAULT'=228
|
||||
'DEFINE'=229
|
||||
'DELETE'=230
|
||||
'DESCRIBE'=231
|
||||
'DISTINCT'=232
|
||||
'DOUBLE'=233
|
||||
'DROP'=234
|
||||
'EACH'=235
|
||||
'ELSE'=236
|
||||
'END'=237
|
||||
'EQUALS'=238
|
||||
'EXCEPT'=239
|
||||
'EXECUTE'=240
|
||||
'EXISTS'=241
|
||||
'EXPLAIN'=242
|
||||
'EXTERNAL'=243
|
||||
'EXTRACT'=244
|
||||
'FALSE'=245
|
||||
'FLOAT'=246
|
||||
'FOR'=247
|
||||
'FROM'=248
|
||||
'FULL'=249
|
||||
'FUNCTION'=250
|
||||
'GLOBAL'=251
|
||||
'GRANT'=252
|
||||
'GROUP'=253
|
||||
'GROUPING'=254
|
||||
'GROUPS'=255
|
||||
'HAVING'=256
|
||||
'HOUR'=257
|
||||
'IMPORT'=258
|
||||
'IN'=259
|
||||
'INCLUDING'=260
|
||||
'INNER'=261
|
||||
'INOUT'=262
|
||||
'INSERT'=263
|
||||
'INT'=264
|
||||
'INTEGER'=265
|
||||
'INTERSECT'=266
|
||||
'INTERVAL'=267
|
||||
'INTO'=268
|
||||
'IS'=269
|
||||
'JOIN'=270
|
||||
'LAG'=271
|
||||
'LANGUAGE'=272
|
||||
'LATERAL'=273
|
||||
'LEADING'=274
|
||||
'LEFT'=275
|
||||
'LIKE'=276
|
||||
'LIMIT'=277
|
||||
'LOCAL'=278
|
||||
'MATCH'=279
|
||||
'MATCH_RECOGNIZE'=280
|
||||
'MEASURES'=281
|
||||
'MERGE'=282
|
||||
'METADATA'=283
|
||||
'MINUS'=284
|
||||
'MINUTE'=285
|
||||
'MODIFIES'=286
|
||||
'MODULE'=287
|
||||
'MONTH'=288
|
||||
'MULTISET'=289
|
||||
'NATURAL'=290
|
||||
'NEXT'=291
|
||||
'NO'=292
|
||||
'NONE'=293
|
||||
'NOT'=294
|
||||
'NULL'=295
|
||||
'NUMERIC'=296
|
||||
'OF'=297
|
||||
'OFFSET'=298
|
||||
'ON'=299
|
||||
'ONE'=300
|
||||
'OR'=301
|
||||
'ORDER'=302
|
||||
'OUT'=303
|
||||
'OUTER'=304
|
||||
'OVER'=305
|
||||
'OVERLAY'=306
|
||||
'PARTITION'=307
|
||||
'PATTERN'=308
|
||||
'PER'=309
|
||||
'PERCENT'=310
|
||||
'PERIOD'=311
|
||||
'POSITION'=312
|
||||
'PRIMARY'=313
|
||||
'RANGE'=314
|
||||
'RANK'=315
|
||||
'RESET'=316
|
||||
'REVOKE'=317
|
||||
'RIGHT'=318
|
||||
'RLIKE'=319
|
||||
'ROLLBACK'=320
|
||||
'ROLLUP'=321
|
||||
'ROW'=322
|
||||
'ROWS'=323
|
||||
'SECOND'=324
|
||||
'SELECT'=325
|
||||
'SET'=326
|
||||
'SHOW'=327
|
||||
'SKIP'=328
|
||||
'SMALLINT'=329
|
||||
'START'=330
|
||||
'STATIC'=331
|
||||
'SUBSTRING'=332
|
||||
'SUM'=333
|
||||
'SYSTEM'=334
|
||||
'SYSTEM_TIME'=335
|
||||
'SYSTEM_USER'=336
|
||||
'TABLE'=337
|
||||
'TABLESAMPLE'=338
|
||||
'THEN'=339
|
||||
'TIME'=340
|
||||
'TIMESTAMP'=341
|
||||
'TINYINT'=342
|
||||
'TO'=343
|
||||
'TRUE'=344
|
||||
'TRUNCATE'=345
|
||||
'UNION'=346
|
||||
'UNIQUE'=347
|
||||
'UNKNOWN'=348
|
||||
'UNNEST'=349
|
||||
'UPPER'=350
|
||||
'UPSERT'=351
|
||||
'USER'=352
|
||||
'USING'=353
|
||||
'VALUE'=354
|
||||
'VALUES'=355
|
||||
'VARBINARY'=356
|
||||
'VARCHAR'=357
|
||||
'WHEN'=358
|
||||
'WHERE'=359
|
||||
'WINDOW'=360
|
||||
'WITH'=361
|
||||
'WITHIN'=362
|
||||
'WITHOUT'=363
|
||||
'YEAR'=364
|
||||
'='=365
|
||||
'>'=366
|
||||
'<'=367
|
||||
'!'=368
|
||||
'~'=369
|
||||
'|'=370
|
||||
'&'=371
|
||||
'^'=372
|
||||
'.'=373
|
||||
'['=374
|
||||
']'=375
|
||||
'('=376
|
||||
')'=377
|
||||
'{'=378
|
||||
'}'=379
|
||||
','=380
|
||||
';'=381
|
||||
'@'=382
|
||||
'\''=383
|
||||
'"'=384
|
||||
'`'=385
|
||||
':'=386
|
||||
'*'=387
|
||||
'_'=388
|
||||
'-'=389
|
||||
'+'=390
|
||||
'%'=391
|
||||
'||'=392
|
||||
'--'=393
|
||||
'/'=394
|
||||
'?'=395
|
||||
'=>'=396
|
||||
'ASYMMETRIC'=184
|
||||
'AT'=185
|
||||
'AVG'=186
|
||||
'BEGIN'=187
|
||||
'BETWEEN'=188
|
||||
'BIGINT'=189
|
||||
'BINARY'=190
|
||||
'BIT'=191
|
||||
'BLOB'=192
|
||||
'BOOLEAN'=193
|
||||
'BOTH'=194
|
||||
'BY'=195
|
||||
'CALL'=196
|
||||
'CALLED'=197
|
||||
'CASCADED'=198
|
||||
'CASE'=199
|
||||
'CAST'=200
|
||||
'CEIL'=201
|
||||
'CHAR'=202
|
||||
'CHARACTER'=203
|
||||
'CHECK'=204
|
||||
'CLOB'=205
|
||||
'CLOSE'=206
|
||||
'COALESCE'=207
|
||||
'COLLATE'=208
|
||||
'COLLECT'=209
|
||||
'COLUMN'=210
|
||||
'COMMIT'=211
|
||||
'CONNECT'=212
|
||||
'CONSTRAINT'=213
|
||||
'CONTAINS'=214
|
||||
'CONVERT'=215
|
||||
'COUNT'=216
|
||||
'CREATE'=217
|
||||
'CROSS'=218
|
||||
'CUBE'=219
|
||||
'CURRENT'=220
|
||||
'CURSOR'=221
|
||||
'CYCLE'=222
|
||||
'DATE'=223
|
||||
'DATETIME'=224
|
||||
'DAY'=225
|
||||
'DEC'=226
|
||||
'DECIMAL'=227
|
||||
'DECLARE'=228
|
||||
'DEFAULT'=229
|
||||
'DEFINE'=230
|
||||
'DELETE'=231
|
||||
'DESCRIBE'=232
|
||||
'DISTINCT'=233
|
||||
'DOUBLE'=234
|
||||
'DROP'=235
|
||||
'EACH'=236
|
||||
'ELSE'=237
|
||||
'END'=238
|
||||
'EQUALS'=239
|
||||
'ESCAPE'=240
|
||||
'EXCEPT'=241
|
||||
'EXECUTE'=242
|
||||
'EXISTS'=243
|
||||
'EXPLAIN'=244
|
||||
'EXTERNAL'=245
|
||||
'EXTRACT'=246
|
||||
'FALSE'=247
|
||||
'FLOAT'=248
|
||||
'FOR'=249
|
||||
'FROM'=250
|
||||
'FULL'=251
|
||||
'FUNCTION'=252
|
||||
'GLOBAL'=253
|
||||
'GRANT'=254
|
||||
'GROUP'=255
|
||||
'GROUPING'=256
|
||||
'GROUPS'=257
|
||||
'HAVING'=258
|
||||
'HOUR'=259
|
||||
'IMPORT'=260
|
||||
'IN'=261
|
||||
'INCLUDING'=262
|
||||
'INNER'=263
|
||||
'INOUT'=264
|
||||
'INSERT'=265
|
||||
'INT'=266
|
||||
'INTEGER'=267
|
||||
'INTERSECT'=268
|
||||
'INTERVAL'=269
|
||||
'INTO'=270
|
||||
'IS'=271
|
||||
'JOIN'=272
|
||||
'LAG'=273
|
||||
'LANGUAGE'=274
|
||||
'LATERAL'=275
|
||||
'LEADING'=276
|
||||
'LEFT'=277
|
||||
'LIKE'=278
|
||||
'LIMIT'=279
|
||||
'LOCAL'=280
|
||||
'MATCH'=281
|
||||
'MATCH_RECOGNIZE'=282
|
||||
'MEASURES'=283
|
||||
'MERGE'=284
|
||||
'METADATA'=285
|
||||
'MINUS'=286
|
||||
'MINUTE'=287
|
||||
'MODIFIES'=288
|
||||
'MODULE'=289
|
||||
'MONTH'=290
|
||||
'MULTISET'=291
|
||||
'NATURAL'=292
|
||||
'NEXT'=293
|
||||
'NO'=294
|
||||
'NONE'=295
|
||||
'NOT'=296
|
||||
'NULL'=297
|
||||
'NUMERIC'=298
|
||||
'OF'=299
|
||||
'OFFSET'=300
|
||||
'ON'=301
|
||||
'ONE'=302
|
||||
'OR'=303
|
||||
'ORDER'=304
|
||||
'OUT'=305
|
||||
'OUTER'=306
|
||||
'OVER'=307
|
||||
'OVERLAY'=308
|
||||
'PARTITION'=309
|
||||
'PATTERN'=310
|
||||
'PER'=311
|
||||
'PERCENT'=312
|
||||
'PERIOD'=313
|
||||
'POSITION'=314
|
||||
'POWER'=315
|
||||
'PRIMARY'=316
|
||||
'RANGE'=317
|
||||
'RANK'=318
|
||||
'RESET'=319
|
||||
'REVOKE'=320
|
||||
'RIGHT'=321
|
||||
'RLIKE'=322
|
||||
'ROLLBACK'=323
|
||||
'ROLLUP'=324
|
||||
'ROW'=325
|
||||
'ROWS'=326
|
||||
'SECOND'=327
|
||||
'SELECT'=328
|
||||
'SET'=329
|
||||
'SHOW'=330
|
||||
'SIMILAR'=331
|
||||
'SKIP'=332
|
||||
'SMALLINT'=333
|
||||
'START'=334
|
||||
'STATIC'=335
|
||||
'SUBSTRING'=336
|
||||
'SUM'=337
|
||||
'SYMMETRIC'=338
|
||||
'SYSTEM'=339
|
||||
'SYSTEM_TIME'=340
|
||||
'SYSTEM_USER'=341
|
||||
'TABLE'=342
|
||||
'TABLESAMPLE'=343
|
||||
'THEN'=344
|
||||
'TIME'=345
|
||||
'TIMESTAMP'=346
|
||||
'TINYINT'=347
|
||||
'TO'=348
|
||||
'TRUE'=349
|
||||
'TRUNCATE'=350
|
||||
'UNION'=351
|
||||
'UNIQUE'=352
|
||||
'UNKNOWN'=353
|
||||
'UNNEST'=354
|
||||
'UPPER'=355
|
||||
'UPSERT'=356
|
||||
'USER'=357
|
||||
'USING'=358
|
||||
'VALUE'=359
|
||||
'VALUES'=360
|
||||
'VARBINARY'=361
|
||||
'VARCHAR'=362
|
||||
'WHEN'=363
|
||||
'WHERE'=364
|
||||
'WINDOW'=365
|
||||
'WITH'=366
|
||||
'WITHIN'=367
|
||||
'WITHOUT'=368
|
||||
'YEAR'=369
|
||||
'='=370
|
||||
'>'=371
|
||||
'<'=372
|
||||
'!'=373
|
||||
'~'=374
|
||||
'|'=375
|
||||
'&'=376
|
||||
'^'=377
|
||||
'.'=378
|
||||
'['=379
|
||||
']'=380
|
||||
'('=381
|
||||
')'=382
|
||||
'{'=383
|
||||
'}'=384
|
||||
','=385
|
||||
';'=386
|
||||
'@'=387
|
||||
'\''=388
|
||||
'"'=389
|
||||
'`'=390
|
||||
':'=391
|
||||
'*'=392
|
||||
'_'=393
|
||||
'-'=394
|
||||
'+'=395
|
||||
'%'=396
|
||||
'||'=397
|
||||
'--'=398
|
||||
'/'=399
|
||||
'?'=400
|
||||
'=>'=401
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
// Generated from /Users/zhenglin/Documents/parser/dt-sql-parser/src/grammar/flinksql/FlinkSqlParser.g4 by ANTLR 4.12.0
|
||||
// Generated from /Users/hayden/Desktop/dt-works/dt-sql-parser/src/grammar/flinksql/FlinkSqlParser.g4 by ANTLR 4.12.0
|
||||
|
||||
import {ParseTreeListener} from "antlr4";
|
||||
|
||||
@ -138,6 +138,7 @@ import { ExpressionContext } from "./FlinkSqlParser";
|
||||
import { LogicalNotContext } from "./FlinkSqlParser";
|
||||
import { PredicatedContext } from "./FlinkSqlParser";
|
||||
import { ExistsContext } from "./FlinkSqlParser";
|
||||
import { LogicalNestedContext } from "./FlinkSqlParser";
|
||||
import { LogicalBinaryContext } from "./FlinkSqlParser";
|
||||
import { PredicateContext } from "./FlinkSqlParser";
|
||||
import { LikePredicateContext } from "./FlinkSqlParser";
|
||||
@ -201,6 +202,7 @@ import { StringLiteralContext } from "./FlinkSqlParser";
|
||||
import { DecimalLiteralContext } from "./FlinkSqlParser";
|
||||
import { BooleanLiteralContext } from "./FlinkSqlParser";
|
||||
import { SetQuantifierContext } from "./FlinkSqlParser";
|
||||
import { ReservedKeywordsUsedAsFunctionNameContext } from "./FlinkSqlParser";
|
||||
import { ReservedKeywordsContext } from "./FlinkSqlParser";
|
||||
import { NonReservedKeywordsContext } from "./FlinkSqlParser";
|
||||
|
||||
@ -1570,6 +1572,18 @@ export default class FlinkSqlParserListener extends ParseTreeListener {
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitExists?: (ctx: ExistsContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `logicalNested`
|
||||
* labeled alternative in `FlinkSqlParser.booleanExpression`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterLogicalNested?: (ctx: LogicalNestedContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by the `logicalNested`
|
||||
* labeled alternative in `FlinkSqlParser.booleanExpression`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitLogicalNested?: (ctx: LogicalNestedContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by the `logicalBinary`
|
||||
* labeled alternative in `FlinkSqlParser.booleanExpression`.
|
||||
@ -2248,6 +2262,16 @@ export default class FlinkSqlParserListener extends ParseTreeListener {
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitSetQuantifier?: (ctx: SetQuantifierContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by `FlinkSqlParser.reservedKeywordsUsedAsFunctionName`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
enterReservedKeywordsUsedAsFunctionName?: (ctx: ReservedKeywordsUsedAsFunctionNameContext) => void;
|
||||
/**
|
||||
* Exit a parse tree produced by `FlinkSqlParser.reservedKeywordsUsedAsFunctionName`.
|
||||
* @param ctx the parse tree
|
||||
*/
|
||||
exitReservedKeywordsUsedAsFunctionName?: (ctx: ReservedKeywordsUsedAsFunctionNameContext) => void;
|
||||
/**
|
||||
* Enter a parse tree produced by `FlinkSqlParser.reservedKeywords`.
|
||||
* @param ctx the parse tree
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Generated from /Users/zhenglin/Documents/parser/dt-sql-parser/src/grammar/flinksql/FlinkSqlParser.g4 by ANTLR 4.12.0
|
||||
// Generated from /Users/hayden/Desktop/dt-works/dt-sql-parser/src/grammar/flinksql/FlinkSqlParser.g4 by ANTLR 4.12.0
|
||||
|
||||
import {ParseTreeVisitor} from 'antlr4';
|
||||
|
||||
@ -138,6 +138,7 @@ import { ExpressionContext } from "./FlinkSqlParser";
|
||||
import { LogicalNotContext } from "./FlinkSqlParser";
|
||||
import { PredicatedContext } from "./FlinkSqlParser";
|
||||
import { ExistsContext } from "./FlinkSqlParser";
|
||||
import { LogicalNestedContext } from "./FlinkSqlParser";
|
||||
import { LogicalBinaryContext } from "./FlinkSqlParser";
|
||||
import { PredicateContext } from "./FlinkSqlParser";
|
||||
import { LikePredicateContext } from "./FlinkSqlParser";
|
||||
@ -201,6 +202,7 @@ import { StringLiteralContext } from "./FlinkSqlParser";
|
||||
import { DecimalLiteralContext } from "./FlinkSqlParser";
|
||||
import { BooleanLiteralContext } from "./FlinkSqlParser";
|
||||
import { SetQuantifierContext } from "./FlinkSqlParser";
|
||||
import { ReservedKeywordsUsedAsFunctionNameContext } from "./FlinkSqlParser";
|
||||
import { ReservedKeywordsContext } from "./FlinkSqlParser";
|
||||
import { NonReservedKeywordsContext } from "./FlinkSqlParser";
|
||||
|
||||
@ -1028,6 +1030,13 @@ export default class FlinkSqlParserVisitor<Result> extends ParseTreeVisitor<Resu
|
||||
* @return the visitor result
|
||||
*/
|
||||
visitExists?: (ctx: ExistsContext) => Result;
|
||||
/**
|
||||
* Visit a parse tree produced by the `logicalNested`
|
||||
* labeled alternative in `FlinkSqlParser.booleanExpression`.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
visitLogicalNested?: (ctx: LogicalNestedContext) => Result;
|
||||
/**
|
||||
* Visit a parse tree produced by the `logicalBinary`
|
||||
* labeled alternative in `FlinkSqlParser.booleanExpression`.
|
||||
@ -1430,6 +1439,12 @@ export default class FlinkSqlParserVisitor<Result> extends ParseTreeVisitor<Resu
|
||||
* @return the visitor result
|
||||
*/
|
||||
visitSetQuantifier?: (ctx: SetQuantifierContext) => Result;
|
||||
/**
|
||||
* Visit a parse tree produced by `FlinkSqlParser.reservedKeywordsUsedAsFunctionName`.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
visitReservedKeywordsUsedAsFunctionName?: (ctx: ReservedKeywordsUsedAsFunctionNameContext) => Result;
|
||||
/**
|
||||
* Visit a parse tree produced by `FlinkSqlParser.reservedKeywords`.
|
||||
* @param ctx the parse tree
|
||||
|
27
test/parser/flinksql/syntax/fixtures/selectWhere.sql
Normal file
27
test/parser/flinksql/syntax/fixtures/selectWhere.sql
Normal file
@ -0,0 +1,27 @@
|
||||
SELECT id, age FROM table1 WHERE age IS NOT NULL;
|
||||
|
||||
SELECT id, age FROM table1 WHERE age IS NOT DISTINCT FROM 12;
|
||||
|
||||
SELECT id, age FROM table1 WHERE age BETWEEN SYMMETRIC 25 AND 18;
|
||||
|
||||
SELECT id, age FROM table1 WHERE age NOT LIKE "%aa_d%" ESCAPE "a";
|
||||
|
||||
SELECT addr FROM table1 WHERE addr NOT SIMILAR TO '%(123|yz)%' ESCAPE "y";
|
||||
|
||||
SELECT id, age FROM table1 WHERE age NOT IN (18,19,20);
|
||||
|
||||
SELECT id FROM table1 WHERE id NOT IN ( SELECT * FROM table2 );
|
||||
|
||||
SELECT S,SNAME
|
||||
FROM S
|
||||
WHERE NOT EXISTS
|
||||
(SELECT *
|
||||
FROM C
|
||||
WHERE NOT EXISTS
|
||||
(SELECT *
|
||||
FROM SC
|
||||
WHERE SC.S=S.S AND SC.C=C.C));
|
||||
|
||||
SELECT id, age FROM table1 WHERE age > 18 OR id = 1;
|
||||
|
||||
SELECT id, age FROM table1 WHERE age > 18 AND id > 10;
|
@ -11,7 +11,8 @@ const features = {
|
||||
aggregation: readSQL(__dirname, "selectAggregation.sql"),
|
||||
join: readSQL(__dirname, "selectJoin.sql"),
|
||||
setOperation: readSQL(__dirname, "selectSetOperations.sql"),
|
||||
pattern: readSQL(__dirname, "selectPatternRecognition.sql")
|
||||
pattern: readSQL(__dirname, "selectPatternRecognition.sql"),
|
||||
where: readSQL(__dirname, "selectWhere.sql"),
|
||||
};
|
||||
|
||||
describe("FlinkSQL Query Statement Tests", () => {
|
||||
@ -79,4 +80,12 @@ describe("FlinkSQL Query Statement Tests", () => {
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
describe("Select Where", () => {
|
||||
features.where.forEach((sql) => {
|
||||
it(sql, () => {
|
||||
expect(parser.validate(sql).length).toBe(0)
|
||||
})
|
||||
})
|
||||
})
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user