Commit Graph

329 Commits

Author SHA1 Message Date
hayden
ebd9a1ed85 feat: hiveSQL support create/drop/alter index grammar 2023-07-07 14:52:59 +08:00
hayden
28de63e1f0 test: hiveSQL createStatement unit tests 2023-07-07 14:48:44 +08:00
hayden
e97e0b2ef6 feat: recomplie hive sql grammar and fix parser about 2023-07-07 14:48:44 +08:00
hayden
1d890e58fe feat: format hive grammar files name 2023-07-07 14:48:44 +08:00
Yu Chen
f413a29fac fix: flinkSqlParser should not import src 2023-07-07 14:47:36 +08:00
wewoor
677e713886 chore(release): 4.0.0-beta.4.1 2023-06-16 16:37:16 +08:00
Hayden
9cf79064de
refactor: optimize basic parser interface (#121)
* feat: set all internal method to protected

* feat: public createLexer and createParser method

* feat: remove error listeners of parser when get suggestion
2023-06-16 16:14:53 +08:00
wewoor
8097d47541 chore(release): 4.0.0-beta.4 2023-06-14 10:51:47 +08:00
wewoor
72c13b7bc7 docs: update content 2023-06-14 10:51:01 +08:00
wewoor
06f30ff5a4 build: update release script 2023-06-14 10:46:13 +08:00
wewoor
322b33a916 chore(release): 4.0.0 2023-06-14 10:43:22 +08:00
Ziv
e914cf2c33
test: add benchmark for flinksql (#120) 2023-06-13 09:28:48 +08:00
Hayden
e34a9f6128
Fix/basic suggestion (#119)
* fix: correct suggetion logic in multiple sql case

* test: add multiple sql test case of suggestion

* feat: export SyntaxContextType as enum
2023-06-12 15:21:27 +08:00
Hayden
1b02ff5d75
feat: FlinkSQL supports auto complete (#115)
* feat: add antlr4-c3 dependencies

* feat: distinguish table, catalog and database from uid

* feat: move semicolon from sqlStatements to sqlStatement

* chore: move antlr4ts-cli to devDependencies

* feat: improve basic parser and support suggestions of token and syntax

* feat: implement suggest method in sql parsers

* test: flink sql suggestion test cases

* feat: optimize ts defination of suggestion

* feat: add split listener and optimize performance of auto-completion

* test: supplementary flink suggestion unit tests
2023-06-09 11:22:53 +08:00
mumiao
2637f90295
Merge pull request #118 from HaydenOrz/feat/updte_github_ci
ci: branch that triggers ci is changed from master to main
2023-06-08 17:14:17 +08:00
hayden
0dae4f14f4 ci: branch that triggers ci is changed from master to main 2023-06-08 17:05:16 +08:00
Hayden
d750fcd574
test: split flink sql syntax.test.ts (#116) 2023-06-07 09:34:24 +08:00
Ziv
34f64e6bea
refactor: migrate antlr4 v4.12.0 to antlr4ts(4.9.0) (#106)
* build: ignore gen folder

* refactor: remove useless code

* fix: correct the Javascript usage in grammar

* refactor: move to antlr4ts

* fix: remove useless

* fix: update grammars for javascript target

* refactor: migrate to antlr4ts

* refactor: migrate to antlr4ts

* refactor: implements ParserErrorListener

* fix: rename the  start reserved word

* refactor: remove unused import

* refactor: migrate to antlr4ts

* test: update the expects of test cases

* refactor: migrate hive to antlr4ts

* refactor: update the incompatible syntax for antlr4ts

* refactor: migrate pgsql grammar to antlr4ts, increasing tests

* refactor: migrate the plsql to antlr4ts

* build: remove unused config

* build: migrate to antlr4ts

* build: migrate ts-jest to @swc/jest

* refactor: migrate to anltr4ts

* build: migrate ts-jest to @swc/jest
2023-05-30 14:44:03 +08:00
Hayden
793ff6ef0e
feat: replace fliePath with slashText to resolve conflict between filePath and arithmetic (#112) 2023-05-30 10:19:13 +08:00
Ziv
76d7ee5e70
fix: rename TrinoSqlVisitor 2023-05-25 11:35:00 +08:00
Ziv
1442ad66d7
fix: update the exports path of trino 2023-05-25 11:29:48 +08:00
wewoor
99ee6c0998 Merge branch 'master' of github.com:DTStack/dt-sql-parser 2023-05-25 10:53:40 +08:00
wewoor
8084c7919a fix: rename TrinoSqlParser to TrinoSql 2023-05-25 10:53:03 +08:00
Hayden
3509964afc
test: add flink template test cases (#111)
* feat: rebuild flink sql parser

* test: add sqls templates in stream app test cases
2023-05-25 09:24:24 +08:00
wewoor
46a8a7ab12 fix: rename to TrinoSqlParser 2023-05-24 18:11:50 +08:00
mumiao
89b22af5ce
docs(readme): fix documentation error (#110) 2023-05-24 17:01:17 +08:00
Ziv
eeb111b5c5
fix: correct the grammar usage, especially in the parts targeting javascript (#109)
* build: ignore gen folder

* fix: correct the grammar when targeting Typescript

* fix: move base Lexer and fix javascript syntax

* fix: correct the usage of Javascript in grammar
2023-05-24 15:07:53 +08:00
mumiao
9c82a5d248
feat: support trino(presto) sql language (#105)
* feat(trino): intergrate prestoGrammar to dt-sql-parser

* feat(trino): add trinoSQl test framework

* feat(trino): intergrate test files for trinoSQL

* test(trino): support alterStatement test

* test(trino): support alter table set authorization statement

* feat(trino): complete trinosql alter unit tests

* test(trino): complete dropStatement unit cases for trinosql

* test(trino): complete create statement unit cases for trinoSQL

* test(trino): complete insertStatement unit cases for trinoSQl

* test(trino): dropStatement test files changed to short line split

* test(trino): complete selectStatement unit cases and grammar check

* test(trino): complete commentStatement unit case for trinoSQL

* test(trino): complete analyze commit and call clause unit case

* test(trino): complete delete deny and describe statement unit case

* test(trino): complete explain execute and grant statement unit case

* feat(trino): improve GRANT Role grammar

* test(trino): complete show statement unit case

* test(trino): complete truncateTable startTransaction update and values  statement unit case

* test(trino): improve update statement test cases

* test(trino): complete revoke revoke roles  and rollback statement unit case

* test(trino): add set statement test case

* feat: generator new trino parser and lexer file

* feat(trino): improve alter statement grammar

* test(trino): complete alter statement unit cases

* feat(trino): support case-insensitive lexers

* fix(trino): rm unless gen files

* test(trino): complete merge and reset session statement unit cases

* test(trino): complete merge anduse statement unit cases

* test(trino): complete prepare and refresh materialized view statement unit cases

* test(trino): improve statement unit cases

* test(trino): complete match recognize statement unit cases

* test(trino): complete window with row pattern recognition statement unit cases
2023-05-24 15:07:02 +08:00
Hayden
0924acf730
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
2023-05-24 15:03:08 +08:00
mumiao
c409b80ee1
feat(flink): support insert multipe tables statement for FlinkSQL 1.15(#104)
* feat(flink): support insert multipe tables statement for FlinkSQL 1.15

* test: recover jest.config info

* fix(flink): correct typo

* fix(flinksql): resolve conflicts
2023-05-23 14:40:52 +08:00
野迂迂
4b824fb500
feat(flink): support NOT NULL syntax (#103)
* feat(flink): support NOT NULL syntax

* feat(flinksql): support NULL
2023-05-23 10:12:05 +08:00
Hayden
40c911597b
refactor: improve keywords definations (#100)
* feat: improve keywords definations and add prefix named KW_

* test: capitalize keywords in alter sql test cases

* test: capitalize keywords in create sql test cases

* feat: merge interval rule and timeIntervalExpression rule in flinksql grammar

* test: put keywords in quotation marks around insert sql test cases

* test: put keywords in quotation marks around select sql test cases

* feat: improve uid rule

* test: rename sum to _sum because it is a reserved keyword

* docs: improve comments in flinkSqlLexer
2023-05-19 14:28:25 +08:00
Hayden
a026ae0592
feat: complete Query statements of FlinkSQL (#93)
* feat: add inlineDataValueClasue rule

* test: update tests of select statements

* feat: support flinksql window TVF grammar

* test: flink sql windown TVF statement test

* feat: support grouping sets grammar

* test: window TVF Aggregation and Group Window Aggregation tests

* test: supplemental selectAggregation with test cases

* test: add Having statement test case

* feat: support flinkSql over aggregation grammar

* test: add over aggregation grammar test cases

* test: flink sql join statement test cases

* test: flink sql set Operations grammar test cases

* test: flink sql limit clause test case

* feat: remove allPlusUid and replace with uid

* feat: support flink sql pattern recognition grammar

* test: flink sql pattern recognition tests

* feat: add flink sql with clause rule

* test: flink sql with clasue select tests

* feat: rebuild flink sql parser
2023-05-17 10:30:25 +08:00
Ziv
fbee70cde5
feat: update alter and drop statements (#94)
* feat: add UNIQUE keyword

* feat: support ifExist, addConstraint, dropConstraint and addUnique of alter table statement

* feat: support ifExist, addConstraint, dropConstraint and addUnique of alter table statement

* tests: add tests of alter statements

* docs: add comments for sql syntax

* build: optimize promote of build/antlr4

* ci: add max_old_space_size

* ci: add max_old_space_size

* ci: update tests script
2023-05-17 10:00:35 +08:00
wewoor
10645087de ci: break tests of parsers into mutiple parts 2023-05-12 11:53:00 +08:00
wewoor
4becd4bc00 build: allow noUnusedLocals 2023-05-12 11:42:39 +08:00
wewoor
1b4ecc360a ci: use node 18.x 2023-05-12 11:11:30 +08:00
wewoor
2617fd0823 ci: support mutiple node versions 2023-05-12 11:05:21 +08:00
wewoor
7a2182d752 build: update the Checks 2023-05-12 11:00:34 +08:00
wewoor
526a58ad2e Merge branch 'master' of github.com:DTStack/dt-sql-parser 2023-05-12 10:47:46 +08:00
mumiao
dc417e1381
feat: improve flinksql insertStatement
* feat: feat: improve flinksql insertStatement

* feat: complete insertFromSelectQueries syntax unit tests

* feat: complete insertValuesIntoTable syntax unit tests

* feat: improve insertValuesIntoTable sql case data

* feat: complete insertMultipeTables unit cases

* feat: depracate insertMulStatement grammar for 1.1.4

* fix: depracate unless files

* test: recover jest.config info

* feat:  improve  insertMultipleTable.sql  test case

* feat: build new flinksql parser and lexer

* feat: generator new flink parser and lexer file

* test: improve readSQL logic

* test: fix insertMultipleTable sql error

* test:  recover jest.config.js info
2023-05-12 09:31:54 +08:00
野迂迂
c41beeaa5a
refactor: readSQL support multiple tables (#95) 2023-05-11 19:31:03 +08:00
wewoor
7b7c2ab8d8 test: drop statment tests 2023-05-11 19:06:19 +08:00
wewoor
65a754e533 test: update tests of alter statemnts 2023-05-11 18:54:56 +08:00
wewoor
34590a5e9b chore: ignore .idea 2023-05-11 18:14:02 +08:00
wewoor
a5a62dd6ef chore: add dist field 2023-05-11 18:13:42 +08:00
wewoor
04a56ba618 refactor: import readSQL function 2023-05-11 18:12:50 +08:00
wewoor
b39825e31a fix: ingore the unused errors of libs 2023-05-11 18:12:10 +08:00
wewoor
4af913cf30 feat: extracting the common readSQL function 2023-05-11 18:11:12 +08:00
野迂迂
370cccf8d9
feat: improve flinksql createStatement (#91)
* feat: improve flinksql createStatement

* feat: complete CREATE syntax unit tests

* feat: complete CREATA TABLE syntax tests

* feat: develop flinkSQL grammar

* feat: improve tableConstraint

* fix: convert TIMESTAMP_LTZ

* test: improve tests

* feat: build new flinksql parser and lexer

* test: add CREATE TEMPLATE TABLE test
2023-05-11 17:41:34 +08:00