Skip to content

Commit ded9f28

Browse files
authored
feat: improve hive keywords rule (#154)
1 parent 79b66ce commit ded9f28

10 files changed

Lines changed: 12271 additions & 10838 deletions

src/grammar/hive/HiveSqlLexer.g4

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,16 @@ KW_DATACONNECTOR : 'CONNECTOR';
9292
KW_DATACONNECTORS : 'CONNECTORS';
9393
KW_DATE : 'DATE';
9494
KW_DATETIME : 'DATETIME';
95-
KW_DAY : 'DAY' 'S'?;
95+
KW_DAY : 'DAY';
96+
KW_DAYS : 'DAYS';
9697
KW_DAYOFWEEK : 'DAYOFWEEK';
9798
KW_DBPROPERTIES : 'DBPROPERTIES';
9899
KW_DCPROPERTIES : 'DCPROPERTIES';
99100
KW_DDL : 'DDL';
100101
KW_DEBUG : 'DEBUG';
101-
KW_DECIMAL : 'DEC' 'IMAL'? | 'NUMERIC';
102+
KW_DEC : 'DEC';
103+
KW_DECIMAL : 'DECIMAL';
104+
KW_NUMERIC : 'NUMERIC';
102105
KW_DEFAULT : 'DEFAULT';
103106
KW_DEFERRED : 'DEFERRED';
104107
KW_DEFINED : 'DEFINED';
@@ -110,7 +113,8 @@ KW_DESCRIBE : 'DESCRIBE';
110113
KW_DETAIL : 'DETAIL';
111114
KW_DIRECTORIES : 'DIRECTORIES';
112115
KW_DIRECTORY : 'DIRECTORY';
113-
KW_DISABLE : 'DISABLE' 'D'?;
116+
KW_DISABLE : 'DISABLE';
117+
KW_DISABLED : 'DISABLED';
114118
KW_DISTINCT : 'DISTINCT';
115119
KW_DISTRIBUTE : 'DISTRIBUTE';
116120
KW_DISTRIBUTED : 'DISTRIBUTED';
@@ -120,7 +124,8 @@ KW_DROP : 'DROP';
120124
KW_DUMP : 'DUMP';
121125
KW_ELEM_TYPE : '$ELEM$';
122126
KW_ELSE : 'ELSE';
123-
KW_ENABLE : 'ENABLE' 'D'?;
127+
KW_ENABLE : 'ENABLE';
128+
KW_ENABLED : 'ENABLED';
124129
KW_END : 'END';
125130
KW_ENFORCED : 'ENFORCED';
126131
KW_ESCAPED : 'ESCAPED';
@@ -161,7 +166,8 @@ KW_GROUP : 'GROUP';
161166
KW_GROUPING : 'GROUPING';
162167
KW_HAVING : 'HAVING';
163168
KW_HOLD_DDLTIME : 'HOLD_DDLTIME';
164-
KW_HOUR : 'HOUR' 'S'?;
169+
KW_HOUR : 'HOUR';
170+
KW_HOURS : 'HOURS';
165171
KW_IDXPROPERTIES : 'IDXPROPERTIES';
166172
KW_IF : 'IF';
167173
KW_IGNORE : 'IGNORE';
@@ -174,7 +180,8 @@ KW_INPATH : 'INPATH';
174180
KW_INPUTDRIVER : 'INPUTDRIVER';
175181
KW_INPUTFORMAT : 'INPUTFORMAT';
176182
KW_INSERT : 'INSERT';
177-
KW_INT : 'INT' 'EGER'?;
183+
KW_INT : 'INT';
184+
KW_INTEGER : 'INTEGER';
178185
KW_INTERSECT : 'INTERSECT';
179186
KW_INTERVAL : 'INTERVAL';
180187
KW_INTO : 'INTO';
@@ -216,15 +223,17 @@ KW_MATERIALIZED : 'MATERIALIZED';
216223
KW_MERGE : 'MERGE';
217224
KW_METADATA : 'METADATA';
218225
KW_MINUS : 'MINUS';
219-
KW_MINUTE : 'MINUTE' 'S'?;
220-
KW_MONTH : 'MONTH' 'S'?;
226+
KW_MINUTE : 'MINUTE';
227+
KW_MINUTES : 'MINUTES';
228+
KW_MONTH : 'MONTH';
229+
KW_MONTHS : 'MONTHS';
221230
KW_MORE : 'MORE';
222231
KW_MOVE : 'MOVE';
223232
KW_MSCK : 'MSCK';
224233
KW_NONE : 'NONE';
225234
KW_NORELY : 'NORELY';
226235
KW_NOSCAN : 'NOSCAN';
227-
KW_NOT : 'NOT' | '!';
236+
KW_NOT : 'NOT';
228237
KW_NOVALIDATE : 'NOVALIDATE';
229238
KW_NO_DROP : 'NO_DROP';
230239
KW_NULL : 'NULL';
@@ -305,7 +314,8 @@ KW_SCHEDULED : 'SCHEDULED';
305314
KW_SCHEDULING_POLICY : 'SCHEDULING_POLICY';
306315
KW_SCHEMA : 'SCHEMA';
307316
KW_SCHEMAS : 'SCHEMAS';
308-
KW_SECOND : 'SECOND' 'S'?;
317+
KW_SECOND : 'SECOND';
318+
KW_SECONDS : 'SECONDS';
309319
KW_SELECT : 'SELECT';
310320
KW_SEMI : 'SEMI';
311321
KW_SERDE : 'SERDE';
@@ -388,7 +398,8 @@ KW_VECTORIZATION : 'VECTORIZATION';
388398
KW_VIEW : 'VIEW';
389399
KW_VIEWS : 'VIEWS';
390400
KW_WAIT : 'WAIT';
391-
KW_WEEK : 'WEEK' 'S'?;
401+
KW_WEEK : 'WEEK';
402+
KW_WEEKS : 'WEEKS';
392403
KW_WHEN : 'WHEN';
393404
KW_WHERE : 'WHERE';
394405
KW_WHILE : 'WHILE';
@@ -398,7 +409,8 @@ KW_WITHIN : 'WITHIN';
398409
KW_WORK : 'WORK';
399410
KW_WORKLOAD : 'WORKLOAD';
400411
KW_WRITE : 'WRITE';
401-
KW_YEAR : 'YEAR' 'S'?;
412+
KW_YEAR : 'YEAR';
413+
KW_YEARS : 'YEARS';
402414
KW_ZONE : 'ZONE';
403415

404416
// Operators
@@ -430,6 +442,7 @@ STAR : '*';
430442
MOD : '%';
431443
DIV : 'DIV';
432444

445+
BITWISENOT: '!';
433446
AMPERSAND : '&';
434447
TILDE : '~';
435448
BITWISEOR : '|';
@@ -525,7 +538,7 @@ RegexComponent
525538
: 'A'..'Z' | '0'..'9' | '_'
526539
| PLUS | STAR | QUESTION | MINUS | DOT
527540
| LPAREN | RPAREN | LSQUARE | RSQUARE | LCURLY | RCURLY
528-
| BITWISEXOR | BITWISEOR | DOLLAR | '!'
541+
| BITWISEXOR | BITWISEOR | DOLLAR | BITWISENOT
529542
;
530543

531544
CharSetName

0 commit comments

Comments
 (0)