Skip to content

Commit 4d1dfa6

Browse files
authored
feat: support spark sql auto complete (#179)
* refactor: spark sql g4 * feat: support spark sql suggestion * test: spark sql suggestion unit test * test: hive spell check * feat: spark sql keyword has multiple values * test: KW_NOT KW_RLIKE split into two value --------- Co-authored-by: liuyi <liuyi@dtstack.com>
1 parent 53ead45 commit 4d1dfa6

18 files changed

Lines changed: 9919 additions & 8815 deletions

src/grammar/spark/SparkSqlLexer.g4

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ KW_NANOSECOND: 'NANOSECOND';
238238
KW_NANOSECONDS: 'NANOSECONDS';
239239
KW_NATURAL: 'NATURAL';
240240
KW_NO: 'NO';
241-
KW_NOT: 'NOT' | '!';
241+
KW_NOT: 'NOT';
242242
KW_NULL: 'NULL';
243243
KW_NULLS: 'NULLS';
244244
KW_NUMERIC: 'NUMERIC';
@@ -290,7 +290,8 @@ KW_RESPECT: 'RESPECT';
290290
KW_RESTRICT: 'RESTRICT';
291291
KW_REVOKE: 'REVOKE';
292292
KW_RIGHT: 'RIGHT';
293-
KW_RLIKE: 'RLIKE' | 'REGEXP';
293+
KW_RLIKE: 'RLIKE';
294+
KW_REGEXP: 'REGEXP';
294295
KW_ROLE: 'ROLE';
295296
KW_ROLES: 'ROLES';
296297
KW_ROLLBACK: 'ROLLBACK';
@@ -328,14 +329,15 @@ KW_STRUCT: 'STRUCT';
328329
KW_SUBSTR: 'SUBSTR';
329330
KW_SUBSTRING: 'SUBSTRING';
330331
KW_SYNC: 'SYNC';
332+
KW_SYSTEM: 'SYSTEM';
331333
KW_SYSTEM_TIME: 'SYSTEM_TIME';
332334
KW_SYSTEM_VERSION: 'SYSTEM_VERSION';
333335
KW_TABLE: 'TABLE';
334336
KW_TABLES: 'TABLES';
335337
KW_TABLESAMPLE: 'TABLESAMPLE';
336338
KW_TARGET: 'TARGET';
337339
KW_TBLPROPERTIES: 'TBLPROPERTIES';
338-
KW_TEMPORARY: 'TEMPORARY' | 'TEMP';
340+
KW_TEMPORARY: 'TEMPORARY';
339341
KW_TERMINATED: 'TERMINATED';
340342
KW_THEN: 'THEN';
341343
KW_TIME: 'TIME';
@@ -402,6 +404,7 @@ LTE : '<=' | '!>';
402404
GT : '>';
403405
GTE : '>=' | '!<';
404406

407+
NOT: '!';
405408
PLUS: '+';
406409
MINUS: '-';
407410
ASTERISK: '*';

src/grammar/spark/SparkSqlParser.g4

Lines changed: 126 additions & 106 deletions
Large diffs are not rendered by default.

src/lib/spark/SparkSqlLexer.interp

Lines changed: 13 additions & 4 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)