Hayden
a99721162b
feat: collect entity ( #265 )
...
* feat: add text and word utils
* feat: add entity collector class
* refactor: rename SyntaxContextType to EntityContextType
* refactor: improve EntityCollector
* feat: improve mysql parser grammar
* feat: add mysql entity collector
* test: mysql entity collector tests
* feat: remove useless method
* feat: improve spark grammar file
* feat: add spark entity collector
* test: spark entity collector unit tests
* feat: remove useless code
* feat: add queryStatement label
* feat: add crateDatabaseStmt
* feat: add trino entity collector
* feat: rename trinosql to trino
* test: trino collect entity unit tests
* test: fix spark test
* feat(impala): support impale entity collector (#256 )
* Feat/collect entity hive (#263 )
* feat(hive): support hive collect entity
* feat(hive): update tableAllColumns
* feat: replace antlr4ts with antlr4ng
* feat(pgsql): pgsql collect entity (#268 )
* feat(pgsql): pgsql collect entity
* feat(pgsql): optimize some name
---------
Co-authored-by: zhaoge <>
* feat: get word text by token.text
* feat: supprt collect db/function and add splitListener (#270 )
* feat: supprt collect db/function and add splitListner
* feat: remove SplitListener interface in baseParser to use SplitListener in root
* fix(mysql): fix show create xxx not celloct as createXXXEntity type
* test: fix pgsql unit tests
* Feat/error recover predicate (#274 )
* feat: optimize pgsql grammar
* feat: add sql parser base
* feat: apply SQLParserBase
* feat: add geAllEntities method
* test: test collect table when missing column
* feat: compose collect and suggestion (#276 )
* feat: mark stmt which contain caret
* test: correct name of getAllEntities
* test: remove misscolumn unit tests
* test: add suggestionWithEntity tests
* feat: flink collect entity (#277 )
* feat: improve flink sql parser
* feat: support flink entity collector
* test: flink entity collect unit test
* feat: move combine entities to parent class
---------
Co-authored-by: 霜序 <976060700@qq.com>
Co-authored-by: XCynthia <942884029@qq.com>
2024-03-26 14:28:27 +08:00
Hayden
195878da9b
feat: migrate to antlr4ng ( #267 )
...
* feat: replace antlr4ts with antlr4ng
* feat: switch caseInsensitive option on
* feat: recompile all g4 file
* feat: update parser to fit antlr4ng
* test: update test to fit antlr4ng
2024-02-26 20:25:09 +08:00
Hayden
14a5214e82
support format g4 ( #232 )
...
* chore: install antlr-format-cli to format g4 files
* style: format all g4 files
* chore: apply antlr-format to lint-staged
2023-12-12 20:05:21 +08:00
Hayden
23f5aac113
Fix/split listener ( #228 )
...
* feat: improve FlinkSqlSplitListener
* feat: improve ImpalaSqlSplitListener
* feat: improve MysqlSplitListener
* fix: correct PgSqlSplitListener
* feat: improve TrinoSqlSplitListener
* test: add split listener unit test
* chore: ignore iml file
* feat: add pgsql missing rules
* test: fix pgsql unit tests
2023-12-08 18:33:16 +08:00
Hayden
31a811d1bb
Feat column codeCompletion ( #218 )
...
* feat: flink support column suggestion
* feat: flink column suggestion unit test
* feat: hive support column suggestion
* feat: hive column suggestion unit test
* feat: trinosql support column suggestion
* feat: trino column suggest unit test
* feat: sparksql collect column suggesstion
* feat: spark column suggestion unit test
* feat: rebuild flinksql lib
2023-11-28 21:18:44 +08:00
琉易
6bbcb3c8d3
fix : #213 flinksql expression syntax ( #215 )
...
* fix : #213 use uid to replace SLASH_TEXT in dtFilePath rule
* test: #213 flinksql syntax expression
---------
Co-authored-by: liuyi <liuyi@dtstack.com>
2023-11-23 20:59:21 +08:00
Hayden
21dcb3fdce
Improve/flink keywords ( #195 )
...
* refactor: improve flinksql keywords rule
* test: correct flink sql unit test
2023-10-30 17:57:27 +08:00
Hayden
887de81521
refactor: replace string pattern with lexer rule ( #194 )
2023-10-26 15:35:52 +08:00
Hayden
53ead45ff5
Optimize/auto complete ( #178 )
...
* feat: optimize hive function name auto complete
* feat: optimize flink rules that c3 prefer to
* feat: optimize flink autoComplete
* test: flink auto complete unit tests
2023-10-11 17:15:06 +08:00
hayden
13b58b2dec
feat: support DT_ADD_CONFIG_FILE syntax
2023-08-28 13:04:28 +08:00
hayden
82d097b034
fix: allow ROW and ROWS as function name
2023-08-28 12:48:18 +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
Hayden
793ff6ef0e
feat: replace fliePath with slashText to resolve conflict between filePath and arithmetic ( #112 )
2023-05-30 10:19:13 +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
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
野迂迂
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
nankaNULL
c0842b3e07
Feat/flink dt sql ( #75 )
...
* feat: dt self develop grammar
* feat: dt self develop grammar
2023-03-21 09:53:25 +08:00
nankaNULL
4f02f9aca0
Feat/flink grammar ( #73 )
...
* feat: complete flink sql insert statement
* feat: complete flink sql drop statement
* feat: complete flink sql alert statement
* feat: complete flink sql create statement, remove console log
* feat: complete flink sql describe, show, explain, use statement
* feat(flinksql): add statement, such as set, load
* fix(flinksql): fix insert, add temporary table
2023-02-27 19:03:32 +08:00
nankaNULL
0c9a831585
fix: fix flinksql create table grammar, add test ( #65 )
...
* fix: fix flinksql create table grammar, add test
* feat: add cross join, left outer join and time temporal join
* test: supplement flinksql join test
* fix: fix catalog table grammar, add test
* fix: fix flinksql data type, add test
* fix: delete console
* feat: add query with clause, add test
2022-12-28 14:20:33 +08:00
Erindcl
e67f991ede
feat(flink): modify grammar to match keywords
2020-12-08 16:04:56 +08:00
Erindcl
c9d88d00a6
feat(flink): update flinkSql grammar and add some test
2020-12-03 20:03:25 +08:00
Erindcl
04c4c40397
feat(flink): update flink SQL grammar
2020-12-03 16:25:43 +08:00
Erindcl
0ef80696f4
feat(flink): add describe/explain/use/show statement and some test
2020-11-26 11:20:57 +08:00
Erindcl
d1259b46a0
feat(flink): update createTable grammar
2020-11-25 19:48:06 +08:00
Erindcl
1b9efdccd5
feat(flink): perfect query statement
2020-11-24 16:49:45 +08:00
Erindcl
afef8e6d72
feat(flink): add grammar rules that pass the test
2020-11-20 17:08:17 +08:00
Erindcl
da9660c6fe
feat(flink): adjust lexer position to fix test error
2020-11-19 19:52:59 +08:00
Erindcl
0735269f4e
feat(flink): merge parser and lexer in order to java test
2020-11-18 20:05:49 +08:00
Erindcl
d7d32a3824
feat(fink): refactoring selectStatement
2020-11-17 19:57:12 +08:00
Erindcl
a5ea7be606
feat: add some query grammar
2020-11-11 19:58:14 +08:00
Erindcl
ba29949359
feat(flink): add queryStatement
2020-11-05 20:00:20 +08:00
Erindcl
9fc91a572a
feat(flink): add drop/alter test add add part of queryStatement
2020-11-04 18:03:41 +08:00
Erindcl
158e235b01
feat(flink): add inset\drop\alter grammar
2020-10-28 16:15:41 +08:00
Erindcl
6082c2b151
feat(flinksql): add some lexer
2020-10-23 17:52:43 +08:00
Erindcl
b7df08f012
feat(flink): add createTable grammar
2020-10-22 19:57:13 +08:00