dt-sql-parser 4.3.2-beta.0 → 4.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -77,6 +77,7 @@ import { InsertSimpleStatementContext } from "./FlinkSqlParser.js";
77
77
  import { InsertPartitionDefinitionContext } from "./FlinkSqlParser.js";
78
78
  import { ValuesDefinitionContext } from "./FlinkSqlParser.js";
79
79
  import { ValuesRowDefinitionContext } from "./FlinkSqlParser.js";
80
+ import { ValueDefinitionContext } from "./FlinkSqlParser.js";
80
81
  import { InsertMulStatementCompatibilityContext } from "./FlinkSqlParser.js";
81
82
  import { InsertMulStatementContext } from "./FlinkSqlParser.js";
82
83
  import { QueryStatementContext } from "./FlinkSqlParser.js";
@@ -1005,6 +1006,16 @@ export declare class FlinkSqlParserListener implements ParseTreeListener {
1005
1006
  * @param ctx the parse tree
1006
1007
  */
1007
1008
  exitValuesRowDefinition?: (ctx: ValuesRowDefinitionContext) => void;
1009
+ /**
1010
+ * Enter a parse tree produced by `FlinkSqlParser.valueDefinition`.
1011
+ * @param ctx the parse tree
1012
+ */
1013
+ enterValueDefinition?: (ctx: ValueDefinitionContext) => void;
1014
+ /**
1015
+ * Exit a parse tree produced by `FlinkSqlParser.valueDefinition`.
1016
+ * @param ctx the parse tree
1017
+ */
1018
+ exitValueDefinition?: (ctx: ValueDefinitionContext) => void;
1008
1019
  /**
1009
1020
  * Enter a parse tree produced by `FlinkSqlParser.insertMulStatementCompatibility`.
1010
1021
  * @param ctx the parse tree
@@ -77,6 +77,7 @@ import { InsertSimpleStatementContext } from "./FlinkSqlParser.js";
77
77
  import { InsertPartitionDefinitionContext } from "./FlinkSqlParser.js";
78
78
  import { ValuesDefinitionContext } from "./FlinkSqlParser.js";
79
79
  import { ValuesRowDefinitionContext } from "./FlinkSqlParser.js";
80
+ import { ValueDefinitionContext } from "./FlinkSqlParser.js";
80
81
  import { InsertMulStatementCompatibilityContext } from "./FlinkSqlParser.js";
81
82
  import { InsertMulStatementContext } from "./FlinkSqlParser.js";
82
83
  import { QueryStatementContext } from "./FlinkSqlParser.js";
@@ -694,6 +695,12 @@ export declare class FlinkSqlParserVisitor<Result> extends AbstractParseTreeVisi
694
695
  * @return the visitor result
695
696
  */
696
697
  visitValuesRowDefinition?: (ctx: ValuesRowDefinitionContext) => Result;
698
+ /**
699
+ * Visit a parse tree produced by `FlinkSqlParser.valueDefinition`.
700
+ * @param ctx the parse tree
701
+ * @return the visitor result
702
+ */
703
+ visitValueDefinition?: (ctx: ValueDefinitionContext) => Result;
697
704
  /**
698
705
  * Visit a parse tree produced by `FlinkSqlParser.insertMulStatementCompatibility`.
699
706
  * @param ctx the parse tree
@@ -36,6 +36,7 @@ export class BasicSQL {
36
36
  createParser(input, errorListener) {
37
37
  const lexer = this.createLexer(input, errorListener);
38
38
  const tokenStream = new CommonTokenStream(lexer);
39
+ tokenStream.fill();
39
40
  const parser = this.createParserFromTokenStream(tokenStream);
40
41
  parser.interpreter.predictionMode = PredictionMode.SLL;
41
42
  if (errorListener) {
@@ -375,23 +376,24 @@ export class BasicSQL {
375
376
  };
376
377
  }
377
378
  getAllEntities(input, caretPosition) {
378
- const allTokens = this.getAllTokens(input);
379
+ /**
380
+ * Create a new parser to generate brand new parse tree.
381
+ * And the new parse tree should not effect cached parse tree which is used by validate and getSuggestionAtCaretPosition method.
382
+ */
383
+ const parser = this.createParser(input);
384
+ const allTokens = parser.tokenStream.getTokens();
379
385
  const caretTokenIndex = caretPosition
380
386
  ? findCaretTokenIndex(caretPosition, allTokens)
381
387
  : void 0;
382
388
  const collectListener = this.createEntityCollector(input, allTokens, caretTokenIndex);
383
- // const parser = this.createParserWithCache(input);
384
- // parser.entityCollecting = true;
385
- // if(caretPosition) {
386
- // const allTokens = this.getAllTokens(input);
387
- // const tokenIndex = findCaretTokenIndex(caretPosition, allTokens);
388
- // parser.caretTokenIndex = tokenIndex;
389
- // }
390
- // const parseTree = parser.program();
391
- const parseTree = this.parseWithCache(input);
389
+ parser.entityCollecting = true;
390
+ if (caretPosition && caretTokenIndex !== undefined) {
391
+ parser.caretTokenIndex = caretTokenIndex;
392
+ }
393
+ const parseTree = parser.program();
392
394
  this.listen(collectListener, parseTree);
393
- // parser.caretTokenIndex = -1;
394
- // parser.entityCollecting = false;
395
+ parser.caretTokenIndex = -1;
396
+ parser.entityCollecting = false;
395
397
  return collectListener.getEntities();
396
398
  }
397
399
  /**
@@ -13,6 +13,10 @@ export { FlinkEntityCollector, FlinkSqlSplitListener };
13
13
  export declare class FlinkSQL extends BasicSQL<FlinkSqlLexer, ProgramContext, FlinkSqlParser> {
14
14
  protected createLexerFromCharStream(charStreams: CharStream): FlinkSqlLexer;
15
15
  protected createParserFromTokenStream(tokenStream: CommonTokenStream): FlinkSqlParser;
16
+ /**
17
+ * The rules that keywords you don't want to be suggested.
18
+ */
19
+ protected excludeKeywordRules: Set<number>;
16
20
  protected preferredRules: Set<number>;
17
21
  protected get splitListener(): FlinkSqlSplitListener;
18
22
  protected createErrorListener(_errorListener: ErrorListener): FlinkErrorListener;
@@ -11,6 +11,16 @@ export { FlinkEntityCollector, FlinkSqlSplitListener };
11
11
  export class FlinkSQL extends BasicSQL {
12
12
  constructor() {
13
13
  super(...arguments);
14
+ /**
15
+ * The rules that keywords you don't want to be suggested.
16
+ */
17
+ this.excludeKeywordRules = new Set([
18
+ FlinkSqlParser.RULE_nonReservedKeywords,
19
+ FlinkSqlParser.RULE_reservedKeywordsUsedAsFuncName,
20
+ FlinkSqlParser.RULE_reservedKeywordsFollowParamsUsedAsFuncName,
21
+ FlinkSqlParser.RULE_reservedKeywordsNoParamsUsedAsFuncName,
22
+ FlinkSqlParser.RULE_reservedKeywordsUsedAsFuncParam,
23
+ ]);
14
24
  this.preferredRules = new Set([
15
25
  FlinkSqlParser.RULE_catalogPath, // catalog name
16
26
  FlinkSqlParser.RULE_databasePath, // database name
@@ -29,6 +39,7 @@ export class FlinkSQL extends BasicSQL {
29
39
  FlinkSqlParser.RULE_columnNameCreate,
30
40
  FlinkSqlParser.RULE_tablePropertyKey,
31
41
  FlinkSqlParser.RULE_tablePropertyValue,
42
+ ...this.excludeKeywordRules,
32
43
  ]);
33
44
  }
34
45
  createLexerFromCharStream(charStreams) {
@@ -127,7 +138,13 @@ export class FlinkSQL extends BasicSQL {
127
138
  default:
128
139
  break;
129
140
  }
130
- if (syntaxContextType) {
141
+ if (syntaxContextType &&
142
+ !originalSyntaxSuggestions.some((syn) => {
143
+ var _a, _b;
144
+ return syn.syntaxContextType === syntaxContextType &&
145
+ ((_a = syn.wordRanges.map((wordRange) => wordRange.text)) === null || _a === void 0 ? void 0 : _a.join(',')) ===
146
+ ((_b = tokenRanges.map((tokenRange) => tokenRange.text)) === null || _b === void 0 ? void 0 : _b.join(','));
147
+ })) {
131
148
  originalSyntaxSuggestions.push({
132
149
  syntaxContextType,
133
150
  wordRanges: tokenRanges,
@@ -13,6 +13,10 @@ export { HiveEntityCollector, HiveSqlSplitListener };
13
13
  export declare class HiveSQL extends BasicSQL<HiveSqlLexer, ProgramContext, HiveSqlParser> {
14
14
  protected createLexerFromCharStream(charStreams: CharStream): HiveSqlLexer;
15
15
  protected createParserFromTokenStream(tokenStream: CommonTokenStream): HiveSqlParser;
16
+ /**
17
+ * The rules that keywords you don't want to be suggested.
18
+ */
19
+ protected excludeKeywordRules: Set<number>;
16
20
  protected preferredRules: Set<number>;
17
21
  protected get splitListener(): HiveSqlSplitListener;
18
22
  protected createErrorListener(_errorListener: ErrorListener): HiveErrorListener;
@@ -11,6 +11,10 @@ export { HiveEntityCollector, HiveSqlSplitListener };
11
11
  export class HiveSQL extends BasicSQL {
12
12
  constructor() {
13
13
  super(...arguments);
14
+ /**
15
+ * The rules that keywords you don't want to be suggested.
16
+ */
17
+ this.excludeKeywordRules = new Set([HiveSqlParser.RULE_nonReserved]);
14
18
  this.preferredRules = new Set([
15
19
  HiveSqlParser.RULE_dbSchemaName, // db or schema name
16
20
  HiveSqlParser.RULE_dbSchemaNameCreate, // db or schema name that will be created
@@ -24,6 +28,7 @@ export class HiveSQL extends BasicSQL {
24
28
  HiveSqlParser.RULE_columnName,
25
29
  HiveSqlParser.RULE_columnNamePath,
26
30
  HiveSqlParser.RULE_columnNameCreate,
31
+ ...this.excludeKeywordRules,
27
32
  ]);
28
33
  }
29
34
  createLexerFromCharStream(charStreams) {
@@ -115,7 +120,13 @@ export class HiveSQL extends BasicSQL {
115
120
  default:
116
121
  break;
117
122
  }
118
- if (syntaxContextType) {
123
+ if (syntaxContextType &&
124
+ !originalSyntaxSuggestions.some((syn) => {
125
+ var _a, _b;
126
+ return syn.syntaxContextType === syntaxContextType &&
127
+ ((_a = syn.wordRanges.map((wordRange) => wordRange.text)) === null || _a === void 0 ? void 0 : _a.join(',')) ===
128
+ ((_b = tokenRanges.map((tokenRange) => tokenRange.text)) === null || _b === void 0 ? void 0 : _b.join(','));
129
+ })) {
119
130
  originalSyntaxSuggestions.push({
120
131
  syntaxContextType,
121
132
  wordRanges: tokenRanges,
@@ -13,6 +13,10 @@ export { ImpalaEntityCollector, ImpalaSqlSplitListener };
13
13
  export declare class ImpalaSQL extends BasicSQL<ImpalaSqlLexer, ProgramContext, ImpalaSqlParser> {
14
14
  protected createLexerFromCharStream(charStreams: CharStream): ImpalaSqlLexer;
15
15
  protected createParserFromTokenStream(tokenStream: CommonTokenStream): ImpalaSqlParser;
16
+ /**
17
+ * The rules that keywords you don't want to be suggested.
18
+ */
19
+ protected excludeKeywordRules: Set<number>;
16
20
  protected preferredRules: Set<number>;
17
21
  protected get splitListener(): ImpalaSqlSplitListener;
18
22
  protected createErrorListener(_errorListener: ErrorListener): ImpalaErrorListener;
@@ -11,6 +11,10 @@ export { ImpalaEntityCollector, ImpalaSqlSplitListener };
11
11
  export class ImpalaSQL extends BasicSQL {
12
12
  constructor() {
13
13
  super(...arguments);
14
+ /**
15
+ * The rules that keywords you don't want to be suggested.
16
+ */
17
+ this.excludeKeywordRules = new Set([ImpalaSqlParser.RULE_nonReserved]);
14
18
  this.preferredRules = new Set([
15
19
  ImpalaSqlParser.RULE_functionNameCreate,
16
20
  ImpalaSqlParser.RULE_tableNameCreate,
@@ -23,6 +27,7 @@ export class ImpalaSQL extends BasicSQL {
23
27
  ImpalaSqlParser.RULE_databaseNamePath,
24
28
  ImpalaSqlParser.RULE_columnNamePath,
25
29
  ImpalaSqlParser.RULE_columnName,
30
+ ...this.excludeKeywordRules,
26
31
  ]);
27
32
  }
28
33
  createLexerFromCharStream(charStreams) {
@@ -104,7 +109,13 @@ export class ImpalaSQL extends BasicSQL {
104
109
  default:
105
110
  break;
106
111
  }
107
- if (syntaxContextType) {
112
+ if (syntaxContextType &&
113
+ !originalSyntaxSuggestions.some((syn) => {
114
+ var _a, _b;
115
+ return syn.syntaxContextType === syntaxContextType &&
116
+ ((_a = syn.wordRanges.map((wordRange) => wordRange.text)) === null || _a === void 0 ? void 0 : _a.join(',')) ===
117
+ ((_b = tokenRanges.map((tokenRange) => tokenRange.text)) === null || _b === void 0 ? void 0 : _b.join(','));
118
+ })) {
108
119
  originalSyntaxSuggestions.push({
109
120
  syntaxContextType,
110
121
  wordRanges: tokenRanges,
@@ -13,6 +13,10 @@ export { MySqlEntityCollector, MysqlSplitListener };
13
13
  export declare class MySQL extends BasicSQL<MySqlLexer, ProgramContext, MySqlParser> {
14
14
  protected createLexerFromCharStream(charStreams: CharStream): MySqlLexer;
15
15
  protected createParserFromTokenStream(tokenStream: CommonTokenStream): MySqlParser;
16
+ /**
17
+ * The rules that keywords you don't want to be suggested.
18
+ */
19
+ protected excludeKeywordRules: Set<number>;
16
20
  protected preferredRules: Set<number>;
17
21
  protected get splitListener(): MysqlSplitListener;
18
22
  protected createErrorListener(_errorListener: ErrorListener): MysqlErrorListener;
@@ -11,6 +11,10 @@ export { MySqlEntityCollector, MysqlSplitListener };
11
11
  export class MySQL extends BasicSQL {
12
12
  constructor() {
13
13
  super(...arguments);
14
+ /**
15
+ * The rules that keywords you don't want to be suggested.
16
+ */
17
+ this.excludeKeywordRules = new Set([MySqlParser.RULE_keywordsCanBeId]);
14
18
  this.preferredRules = new Set([
15
19
  MySqlParser.RULE_databaseName,
16
20
  MySqlParser.RULE_databaseNameCreate,
@@ -22,6 +26,7 @@ export class MySQL extends BasicSQL {
22
26
  MySqlParser.RULE_functionNameCreate,
23
27
  MySqlParser.RULE_columnName,
24
28
  MySqlParser.RULE_columnNameCreate,
29
+ ...this.excludeKeywordRules,
25
30
  ]);
26
31
  }
27
32
  createLexerFromCharStream(charStreams) {
@@ -94,7 +99,13 @@ export class MySQL extends BasicSQL {
94
99
  default:
95
100
  break;
96
101
  }
97
- if (syntaxContextType) {
102
+ if (syntaxContextType &&
103
+ !originalSyntaxSuggestions.some((syn) => {
104
+ var _a, _b;
105
+ return syn.syntaxContextType === syntaxContextType &&
106
+ ((_a = syn.wordRanges.map((wordRange) => wordRange.text)) === null || _a === void 0 ? void 0 : _a.join(',')) ===
107
+ ((_b = tokenRanges.map((tokenRange) => tokenRange.text)) === null || _b === void 0 ? void 0 : _b.join(','));
108
+ })) {
98
109
  originalSyntaxSuggestions.push({
99
110
  syntaxContextType,
100
111
  wordRanges: tokenRanges,
@@ -13,6 +13,10 @@ export { PostgreSqlEntityCollector, PostgreSqlSplitListener };
13
13
  export declare class PostgreSQL extends BasicSQL<PostgreSqlLexer, ProgramContext, PostgreSqlParser> {
14
14
  protected createLexerFromCharStream(charStreams: CharStream): PostgreSqlLexer;
15
15
  protected createParserFromTokenStream(tokenStream: CommonTokenStream): PostgreSqlParser;
16
+ /**
17
+ * The rules that keywords you don't want to be suggested.
18
+ */
19
+ protected excludeKeywordRules: Set<number>;
16
20
  protected preferredRules: Set<number>;
17
21
  protected get splitListener(): PostgreSqlSplitListener;
18
22
  protected createErrorListener(_errorListener: ErrorListener): PostgreSqlErrorListener;
@@ -11,6 +11,16 @@ export { PostgreSqlEntityCollector, PostgreSqlSplitListener };
11
11
  export class PostgreSQL extends BasicSQL {
12
12
  constructor() {
13
13
  super(...arguments);
14
+ /**
15
+ * The rules that keywords you don't want to be suggested.
16
+ */
17
+ this.excludeKeywordRules = new Set([
18
+ PostgreSqlParser.RULE_nonReservedWord,
19
+ PostgreSqlParser.RULE_identifier,
20
+ PostgreSqlParser.RULE_reservedKeyword,
21
+ PostgreSqlParser.RULE_typeFuncNameKeyword,
22
+ PostgreSqlParser.RULE_colNameKeyword,
23
+ ]);
14
24
  this.preferredRules = new Set([
15
25
  PostgreSqlParser.RULE_tableNameCreate, // table name
16
26
  PostgreSqlParser.RULE_tableName, // table name that will be created
@@ -27,6 +37,7 @@ export class PostgreSQL extends BasicSQL {
27
37
  PostgreSqlParser.RULE_columnNameCreate, // column name that will be created
28
38
  PostgreSqlParser.RULE_columnName, // column name
29
39
  PostgreSqlParser.RULE_columnNamePath, // column name
40
+ ...this.excludeKeywordRules,
30
41
  ]);
31
42
  }
32
43
  createLexerFromCharStream(charStreams) {
@@ -127,7 +138,13 @@ export class PostgreSQL extends BasicSQL {
127
138
  default:
128
139
  break;
129
140
  }
130
- if (syntaxContextType) {
141
+ if (syntaxContextType &&
142
+ !originalSyntaxSuggestions.some((syn) => {
143
+ var _a, _b;
144
+ return syn.syntaxContextType === syntaxContextType &&
145
+ ((_a = syn.wordRanges.map((wordRange) => wordRange.text)) === null || _a === void 0 ? void 0 : _a.join(',')) ===
146
+ ((_b = tokenRanges.map((tokenRange) => tokenRange.text)) === null || _b === void 0 ? void 0 : _b.join(','));
147
+ })) {
131
148
  originalSyntaxSuggestions.push({
132
149
  syntaxContextType,
133
150
  wordRanges: tokenRanges,
@@ -13,6 +13,10 @@ export { SparkEntityCollector, SparkSqlSplitListener };
13
13
  export declare class SparkSQL extends BasicSQL<SparkSqlLexer, ProgramContext, SparkSqlParser> {
14
14
  protected createLexerFromCharStream(charStreams: CharStream): SparkSqlLexer;
15
15
  protected createParserFromTokenStream(tokenStream: CommonTokenStream): SparkSqlParser;
16
+ /**
17
+ * The rules that keywords you don't want to be suggested.
18
+ */
19
+ protected excludeKeywordRules: Set<number>;
16
20
  protected preferredRules: Set<number>;
17
21
  protected get splitListener(): SparkSqlSplitListener;
18
22
  protected createErrorListener(_errorListener: ErrorListener): SparkErrorListener;
@@ -11,6 +11,14 @@ export { SparkEntityCollector, SparkSqlSplitListener };
11
11
  export class SparkSQL extends BasicSQL {
12
12
  constructor() {
13
13
  super(...arguments);
14
+ /**
15
+ * The rules that keywords you don't want to be suggested.
16
+ */
17
+ this.excludeKeywordRules = new Set([
18
+ SparkSqlParser.RULE_strictIdentifier,
19
+ SparkSqlParser.RULE_strictNonReserved,
20
+ SparkSqlParser.RULE_nonReserved,
21
+ ]);
14
22
  this.preferredRules = new Set([
15
23
  SparkSqlParser.RULE_namespaceName,
16
24
  SparkSqlParser.RULE_namespaceNameCreate,
@@ -23,6 +31,7 @@ export class SparkSQL extends BasicSQL {
23
31
  SparkSqlParser.RULE_columnName,
24
32
  SparkSqlParser.RULE_columnNamePath,
25
33
  SparkSqlParser.RULE_columnNameCreate,
34
+ ...this.excludeKeywordRules,
26
35
  ]);
27
36
  }
28
37
  createLexerFromCharStream(charStreams) {
@@ -110,7 +119,13 @@ export class SparkSQL extends BasicSQL {
110
119
  default:
111
120
  break;
112
121
  }
113
- if (syntaxContextType) {
122
+ if (syntaxContextType &&
123
+ !originalSyntaxSuggestions.some((syn) => {
124
+ var _a, _b;
125
+ return syn.syntaxContextType === syntaxContextType &&
126
+ ((_a = syn.wordRanges.map((wordRange) => wordRange.text)) === null || _a === void 0 ? void 0 : _a.join(',')) ===
127
+ ((_b = tokenRanges.map((tokenRange) => tokenRange.text)) === null || _b === void 0 ? void 0 : _b.join(','));
128
+ })) {
114
129
  originalSyntaxSuggestions.push({
115
130
  syntaxContextType,
116
131
  wordRanges: tokenRanges,
@@ -17,6 +17,10 @@ export declare class TrinoSQL extends BasicSQL<TrinoSqlLexer, ProgramContext, Tr
17
17
  protected createErrorListener(_errorListener: ErrorListener): TrinoErrorListener;
18
18
  protected createEntityCollector(input: string, allTokens?: Token[], caretTokenIndex?: number): TrinoEntityCollector;
19
19
  protected createSemanticContextCollector(input: string, caretPosition: CaretPosition, allTokens: Token[], options?: SemanticCollectOptions): TrinoSemanticContextCollector;
20
+ /**
21
+ * The rules that keywords you don't want to be suggested.
22
+ */
23
+ protected excludeKeywordRules: Set<number>;
20
24
  protected preferredRules: Set<number>;
21
25
  protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number): Suggestions<Token>;
22
26
  }
@@ -11,6 +11,10 @@ export { TrinoEntityCollector, TrinoSqlSplitListener };
11
11
  export class TrinoSQL extends BasicSQL {
12
12
  constructor() {
13
13
  super(...arguments);
14
+ /**
15
+ * The rules that keywords you don't want to be suggested.
16
+ */
17
+ this.excludeKeywordRules = new Set([TrinoSqlParser.RULE_nonReserved]);
14
18
  this.preferredRules = new Set([
15
19
  TrinoSqlParser.RULE_catalogRef,
16
20
  TrinoSqlParser.RULE_catalogNameCreate,
@@ -25,6 +29,7 @@ export class TrinoSQL extends BasicSQL {
25
29
  TrinoSqlParser.RULE_columnRef,
26
30
  TrinoSqlParser.RULE_columnName,
27
31
  TrinoSqlParser.RULE_columnNameCreate,
32
+ ...this.excludeKeywordRules,
28
33
  ]);
29
34
  }
30
35
  createLexerFromCharStream(charStreams) {
@@ -116,7 +121,13 @@ export class TrinoSQL extends BasicSQL {
116
121
  default:
117
122
  break;
118
123
  }
119
- if (syntaxContextType) {
124
+ if (syntaxContextType &&
125
+ !originalSyntaxSuggestions.some((syn) => {
126
+ var _a, _b;
127
+ return syn.syntaxContextType === syntaxContextType &&
128
+ ((_a = syn.wordRanges.map((wordRange) => wordRange.text)) === null || _a === void 0 ? void 0 : _a.join(',')) ===
129
+ ((_b = tokenRanges.map((tokenRange) => tokenRange.text)) === null || _b === void 0 ? void 0 : _b.join(','));
130
+ })) {
120
131
  originalSyntaxSuggestions.push({
121
132
  syntaxContextType,
122
133
  wordRanges: tokenRanges,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dt-sql-parser",
3
- "version": "4.3.2-beta.0",
3
+ "version": "4.4.0-beta.0",
4
4
  "authors": "DTStack Corporation",
5
5
  "description": "SQL Parsers for BigData, built with antlr4",
6
6
  "keywords": [