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
3f62ad0d32
feat: use SLL mode ( #269 )
...
* feat: use SLL(*) PredictionMode for better performance
* feat: optimize mysql grammar to fit SLL mode
* feat: optimize postgre grammmar to fit SLL mode
* feat: optimize spark grammar to fit SLL mode
* test: correct unit tests
* feat: optimize pgsql grammar
2024-03-19 11:27:23 +08:00
JackWang032
a05f099aa1
feat: add toMatchUnorderedArrary matcher and apply it ( #271 )
...
* feat: add toMatchUnorderedArrary matcher replace tokenSuggestion test
* fix: revert benchmark and replace matcher of trinosql
---------
Co-authored-by: jialan <jialan@dtstack.com>
2024-03-01 16:48:53 +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
XCynthia
337885be8b
fix(pgsql): (issue #255 ) select from support view name ( #257 )
...
Co-authored-by: zhaoge <>
2024-02-05 16:24:14 +08:00
Hayden
ecbbee32c7
test: remove barrier files to improve unit testing performance ( #249 )
...
* test: remove barrier files to improve unit testing performance
* chore: change check-types command
2024-01-19 21:10:00 +08:00
Hayden
1038a3a828
fix: trino validation ( #248 )
...
* fix : #246 program does not match standaloneClause
* test: patch unit tests
2024-01-16 11:14:03 +08:00
Hayden
8f72a5af60
Fix/export abstract visitor ( #237 )
...
* fix : #236 export AbstractParseTreeVisitor
* build: set isolatedModules true
* feat: import parser about from filters
2023-12-19 19:22:27 +08:00
Hayden
3c7c59fb70
feat: optimize suggestion ( #231 )
...
* feat: optimize the strategy of finding the right range
* test: apply commentOtherLine util to all suggestion tests
* test: decomment suggestion test cases
* test: add suggestion test cases in multiple statements
* chore: improve comments
* test: update log info in test
2023-12-13 11:33:47 +08:00
Hayden
ee8b468778
feat: add ErrorStrategy( #230 )
...
* refactor: rename errorHandler to errorListener
* feat: add ErrorStrategy to mark context exceptions
* test: errorStrategy unit tests
2023-12-11 17:34:49 +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
XCynthia
db05cb3e4f
feat: pgsql collect column name ( #216 )
...
* feat(pgsql: collect column name): pgsql: collect column name
* feat(pgsql): repair column name's unit test and sql
* feat(pgsql): pgsql: collect expression's column
* feat(update column's collect of some expression): pgsql: update column's collect of some expression
---------
Co-authored-by: zhaoge <>
2023-11-28 10:07:29 +08:00
琉易
428d851913
feat: #190 improve mysql grammer ( #196 )
...
* refactor: generic rename to mysql
* refactor: g4 with mysql syntax
* test: mysql syntax
* refactor: remove useless keywords
* refactor: remove nonReserved keywords
* refactor: lint specificFunction
---------
Co-authored-by: liuyi <liuyi@dtstack.com>
2023-11-27 15:25:40 +08:00
zhaoge
adeb26b7df
feat: pgsql: optimize drop rule's content
2023-11-20 09:41:12 +08:00
zhaoge
4736a65e0c
feat(pgsql: upgrade rules' name): pgsql: upgrade rules' name
2023-11-20 09:41:12 +08:00
XCynthia
cbb1279f9e
feat: support pgsql code completion ( #205 )
...
* feat: pgsql: complete sql, upgrade syntax file and complete autoImprove
* feat: pgsql: complete unit test
* feat: pgsql: update unit test for autocomplete
* feat(pgsql: update split's context type ): pgsql: update split's context type
* feat(pgsql: update schema, table, procedure, tablespace, function, view,database's rule name): pgsql
* feat: pgsql: update usualName's rule realize
* feat: pgsql:update funcName's using
---------
Co-authored-by: zhaoge <>
2023-11-15 15:34:42 +08:00
XCynthia
2e6d18e7dc
feat: improve pgsql grammar and add unit tests( #201 )
...
* feat(pgsql: upgrade keywords and refresh them to parser file): pgsql
* feat(pgsql: check create table's syntax): pgsql
* feat(pgsql: check and update drop syntax): pgsql: check and update drop syntax
* feat: pgsql: check create's sql syntax and update g4 file
* feat: pgsql:complete other's sql and syntax except select, insert, drop
* feat: pgsql: update create, delete, insert, select, update and others' syntax
* test: pgsql: update alter's sql
* feat: pgsql: update syntax g4 file
* feat: pgsql: upgrade keywords to without '_P' in lexer and parser file
* docs: pgsql: update copyright and Reference of parser and lexer
---------
Co-authored-by: zhaoge <>
2023-11-09 11:53:40 +08:00
Hayden
f9dbd9fc23
Refactor/basic parser ( #182 )
...
* feat: replace errorCollector with ParserErrorListener to collect lexer error
* refactor: remove useless method in basicParser
* feat: correct splitSQLByStatement method
* feat: rename parse to parseWithCache and add new parse method
* refactor: rename parserTree to parseTree
* test: rename parserTree to parseTree
* refactor: rename parserError to parseError
* feat: export ErrorHandler type
* feat: use errorhandler form params
* test: basic parser unit tests
* style: lint via prettier
2023-10-16 17:59:28 +08:00
Hayden
7de192d486
chroe: devops ( #180 )
...
* ci: add dependencies about lint tool
* ci: replace eslint with prettier
* ci: add husky, cz and commitlint
* style: lint fix via prettier
* ci: add prettier and check-types to github workflow
'
2023-10-13 11:16:36 +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
Ziv
c1c72def30
feat: upgrade antlr4 to 4.12.0 ( #88 )
2023-05-04 10:13:05 +08:00
Salvatore Ravidà
ea0f061ff9
Added tests - restore target es6 - transpile base into es5
2022-12-16 15:13:56 +08:00