dt-sql-parser 4.1.0-beta.7 → 4.1.0-beta.8

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.
Files changed (38) hide show
  1. package/README.md +51 -0
  2. package/dist/lib/flink/FlinkSqlParser.d.ts +2 -6
  3. package/dist/lib/flink/FlinkSqlParser.js +2122 -2211
  4. package/dist/parser/common/basicSQL.d.ts +14 -1
  5. package/dist/parser/common/basicSQL.js +14 -0
  6. package/dist/parser/common/semanticContextCollector.d.ts +51 -0
  7. package/dist/parser/common/semanticContextCollector.js +202 -0
  8. package/dist/parser/common/types.d.ts +25 -0
  9. package/dist/parser/common/types.js +7 -0
  10. package/dist/parser/flink/flinkSemanticContextCollector.d.ts +9 -0
  11. package/dist/parser/flink/flinkSemanticContextCollector.js +14 -0
  12. package/dist/parser/flink/index.d.ts +3 -1
  13. package/dist/parser/flink/index.js +5 -1
  14. package/dist/parser/hive/hiveSemanticContextCollector.d.ts +9 -0
  15. package/dist/parser/hive/hiveSemanticContextCollector.js +14 -0
  16. package/dist/parser/hive/index.d.ts +3 -1
  17. package/dist/parser/hive/index.js +5 -1
  18. package/dist/parser/impala/impalaSemanticContextCollector.d.ts +9 -0
  19. package/dist/parser/impala/impalaSemanticContextCollector.js +14 -0
  20. package/dist/parser/impala/index.d.ts +3 -1
  21. package/dist/parser/impala/index.js +5 -1
  22. package/dist/parser/mysql/index.d.ts +3 -1
  23. package/dist/parser/mysql/index.js +5 -1
  24. package/dist/parser/mysql/mysqlSemanticContextCollector.d.ts +9 -0
  25. package/dist/parser/mysql/mysqlSemanticContextCollector.js +14 -0
  26. package/dist/parser/postgresql/index.d.ts +3 -1
  27. package/dist/parser/postgresql/index.js +5 -1
  28. package/dist/parser/postgresql/postgreSemanticContextCollector.d.ts +9 -0
  29. package/dist/parser/postgresql/postgreSemanticContextCollector.js +14 -0
  30. package/dist/parser/spark/index.d.ts +3 -1
  31. package/dist/parser/spark/index.js +5 -1
  32. package/dist/parser/spark/sparkSemanticContextCollector.d.ts +9 -0
  33. package/dist/parser/spark/sparkSemanticContextCollector.js +14 -0
  34. package/dist/parser/trino/index.d.ts +3 -1
  35. package/dist/parser/trino/index.js +5 -1
  36. package/dist/parser/trino/trinoSemanticContextCollector.d.ts +9 -0
  37. package/dist/parser/trino/trinoSemanticContextCollector.js +14 -0
  38. package/package.json +1 -1
@@ -2,12 +2,13 @@ import { CandidatesCollection } from 'antlr4-c3';
2
2
  import { CharStream, CommonTokenStream, Token } from 'antlr4ng';
3
3
  import { PostgreSqlLexer } from '../../lib/postgresql/PostgreSqlLexer';
4
4
  import { PostgreSqlParser, ProgramContext } from '../../lib/postgresql/PostgreSqlParser';
5
- import { Suggestions } from '../common/types';
5
+ import { CaretPosition, SemanticCollectOptions, Suggestions } from '../common/types';
6
6
  import { BasicSQL } from '../common/basicSQL';
7
7
  import { PostgreSqlEntityCollector } from './postgreEntityCollector';
8
8
  import { PostgreSqlSplitListener } from './postgreSplitListener';
9
9
  import { ErrorListener } from '../common/parseErrorListener';
10
10
  import { PostgreSqlErrorListener } from './postgreErrorListener';
11
+ import { PostgreSemanticContextCollector } from './postgreSemanticContextCollector';
11
12
  export { PostgreSqlEntityCollector, PostgreSqlSplitListener };
12
13
  export declare class PostgreSQL extends BasicSQL<PostgreSqlLexer, ProgramContext, PostgreSqlParser> {
13
14
  protected createLexerFromCharStream(charStreams: CharStream): PostgreSqlLexer;
@@ -16,5 +17,6 @@ export declare class PostgreSQL extends BasicSQL<PostgreSqlLexer, ProgramContext
16
17
  protected get splitListener(): PostgreSqlSplitListener;
17
18
  protected createErrorListener(_errorListener: ErrorListener): PostgreSqlErrorListener;
18
19
  protected createEntityCollector(input: string, caretTokenIndex?: number): PostgreSqlEntityCollector;
20
+ protected createSemanticContextCollector(input: string, caretPosition: CaretPosition, allTokens: Token[], options?: SemanticCollectOptions): PostgreSemanticContextCollector;
19
21
  protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number, tokenIndexOffset: number): Suggestions<Token>;
20
22
  }
@@ -1,10 +1,11 @@
1
1
  import { PostgreSqlLexer } from '../../lib/postgresql/PostgreSqlLexer';
2
2
  import { PostgreSqlParser } from '../../lib/postgresql/PostgreSqlParser';
3
- import { EntityContextType } from '../common/types';
3
+ import { EntityContextType, } from '../common/types';
4
4
  import { BasicSQL } from '../common/basicSQL';
5
5
  import { PostgreSqlEntityCollector } from './postgreEntityCollector';
6
6
  import { PostgreSqlSplitListener } from './postgreSplitListener';
7
7
  import { PostgreSqlErrorListener } from './postgreErrorListener';
8
+ import { PostgreSemanticContextCollector } from './postgreSemanticContextCollector';
8
9
  export { PostgreSqlEntityCollector, PostgreSqlSplitListener };
9
10
  export class PostgreSQL extends BasicSQL {
10
11
  constructor() {
@@ -42,6 +43,9 @@ export class PostgreSQL extends BasicSQL {
42
43
  createEntityCollector(input, caretTokenIndex) {
43
44
  return new PostgreSqlEntityCollector(input, caretTokenIndex);
44
45
  }
46
+ createSemanticContextCollector(input, caretPosition, allTokens, options) {
47
+ return new PostgreSemanticContextCollector(input, caretPosition, allTokens, options);
48
+ }
45
49
  processCandidates(candidates, allTokens, caretTokenIndex, tokenIndexOffset) {
46
50
  const originalSyntaxSuggestions = [];
47
51
  const keywords = [];
@@ -0,0 +1,9 @@
1
+ import { PostgreSqlParserListener } from '../../lib';
2
+ import { SingleStmtContext } from '../../lib/postgresql/PostgreSqlParser';
3
+ import SemanticContextCollector from '../common/semanticContextCollector';
4
+ declare class PostgreSemanticContextCollector extends SemanticContextCollector implements PostgreSqlParserListener {
5
+ getWhiteSpaceRuleType(): number;
6
+ getStatementRuleType(): number;
7
+ enterSingleStmt(ctx: SingleStmtContext): void;
8
+ }
9
+ export { PostgreSemanticContextCollector };
@@ -0,0 +1,14 @@
1
+ import { PostgreSqlParser } from '../../lib/postgresql/PostgreSqlParser';
2
+ import SemanticContextCollector from '../common/semanticContextCollector';
3
+ class PostgreSemanticContextCollector extends SemanticContextCollector {
4
+ getWhiteSpaceRuleType() {
5
+ return PostgreSqlParser.Whitespace;
6
+ }
7
+ getStatementRuleType() {
8
+ return PostgreSqlParser.RULE_singleStmt;
9
+ }
10
+ enterSingleStmt(ctx) {
11
+ this.visitStatement(ctx);
12
+ }
13
+ }
14
+ export { PostgreSemanticContextCollector };
@@ -3,11 +3,12 @@ import { CandidatesCollection } from 'antlr4-c3';
3
3
  import { SparkSqlLexer } from '../../lib/spark/SparkSqlLexer';
4
4
  import { SparkSqlParser, ProgramContext } from '../../lib/spark/SparkSqlParser';
5
5
  import { BasicSQL } from '../common/basicSQL';
6
- import { Suggestions } from '../common/types';
6
+ import { Suggestions, CaretPosition, SemanticCollectOptions } from '../common/types';
7
7
  import { SparkSqlSplitListener } from './sparkSplitListener';
8
8
  import { SparkEntityCollector } from './sparkEntityCollector';
9
9
  import { SparkErrorListener } from './sparkErrorListener';
10
10
  import { ErrorListener } from '../common/parseErrorListener';
11
+ import { SparkSemanticContextCollector } from './sparkSemanticContextCollector';
11
12
  export { SparkSqlSplitListener, SparkEntityCollector };
12
13
  export declare class SparkSQL extends BasicSQL<SparkSqlLexer, ProgramContext, SparkSqlParser> {
13
14
  protected createLexerFromCharStream(charStreams: CharStream): SparkSqlLexer;
@@ -16,5 +17,6 @@ export declare class SparkSQL extends BasicSQL<SparkSqlLexer, ProgramContext, Sp
16
17
  protected get splitListener(): SparkSqlSplitListener;
17
18
  protected createErrorListener(_errorListener: ErrorListener): SparkErrorListener;
18
19
  protected createEntityCollector(input: string, caretTokenIndex?: number): SparkEntityCollector;
20
+ protected createSemanticContextCollector(input: string, caretPosition: CaretPosition, allTokens: Token[], options?: SemanticCollectOptions): SparkSemanticContextCollector;
19
21
  protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number, tokenIndexOffset: number): Suggestions<Token>;
20
22
  }
@@ -1,10 +1,11 @@
1
1
  import { SparkSqlLexer } from '../../lib/spark/SparkSqlLexer';
2
2
  import { SparkSqlParser } from '../../lib/spark/SparkSqlParser';
3
3
  import { BasicSQL } from '../common/basicSQL';
4
- import { EntityContextType } from '../common/types';
4
+ import { EntityContextType, } from '../common/types';
5
5
  import { SparkSqlSplitListener } from './sparkSplitListener';
6
6
  import { SparkEntityCollector } from './sparkEntityCollector';
7
7
  import { SparkErrorListener } from './sparkErrorListener';
8
+ import { SparkSemanticContextCollector } from './sparkSemanticContextCollector';
8
9
  export { SparkSqlSplitListener, SparkEntityCollector };
9
10
  export class SparkSQL extends BasicSQL {
10
11
  constructor() {
@@ -38,6 +39,9 @@ export class SparkSQL extends BasicSQL {
38
39
  createEntityCollector(input, caretTokenIndex) {
39
40
  return new SparkEntityCollector(input, caretTokenIndex);
40
41
  }
42
+ createSemanticContextCollector(input, caretPosition, allTokens, options) {
43
+ return new SparkSemanticContextCollector(input, caretPosition, allTokens, options);
44
+ }
41
45
  processCandidates(candidates, allTokens, caretTokenIndex, tokenIndexOffset) {
42
46
  const originalSyntaxSuggestions = [];
43
47
  const keywords = [];
@@ -0,0 +1,9 @@
1
+ import { SparkSqlParserListener } from '../../lib';
2
+ import { SingleStatementContext } from '../../lib/spark/SparkSqlParser';
3
+ import SemanticContextCollector from '../common/semanticContextCollector';
4
+ declare class SparkSemanticContextCollector extends SemanticContextCollector implements SparkSqlParserListener {
5
+ getWhiteSpaceRuleType(): number;
6
+ getStatementRuleType(): number;
7
+ enterSingleStatement(ctx: SingleStatementContext): void;
8
+ }
9
+ export { SparkSemanticContextCollector };
@@ -0,0 +1,14 @@
1
+ import { SparkSqlParser } from '../../lib/spark/SparkSqlParser';
2
+ import SemanticContextCollector from '../common/semanticContextCollector';
3
+ class SparkSemanticContextCollector extends SemanticContextCollector {
4
+ getWhiteSpaceRuleType() {
5
+ return SparkSqlParser.WS;
6
+ }
7
+ getStatementRuleType() {
8
+ return SparkSqlParser.RULE_singleStatement;
9
+ }
10
+ enterSingleStatement(ctx) {
11
+ this.visitStatement(ctx);
12
+ }
13
+ }
14
+ export { SparkSemanticContextCollector };
@@ -3,11 +3,12 @@ import { CandidatesCollection } from 'antlr4-c3';
3
3
  import { TrinoSqlLexer } from '../../lib/trino/TrinoSqlLexer';
4
4
  import { TrinoSqlParser, ProgramContext } from '../../lib/trino/TrinoSqlParser';
5
5
  import { BasicSQL } from '../common/basicSQL';
6
- import { Suggestions } from '../common/types';
6
+ import { Suggestions, CaretPosition, SemanticCollectOptions } from '../common/types';
7
7
  import { TrinoSqlSplitListener } from './trinoSplitListener';
8
8
  import { TrinoEntityCollector } from './trinoEntityCollector';
9
9
  import { ErrorListener } from '../common/parseErrorListener';
10
10
  import { TrinoErrorListener } from './trinoErrorListener';
11
+ import { TrinoSemanticContextCollector } from './trinoSemanticContextCollector';
11
12
  export { TrinoSqlSplitListener, TrinoEntityCollector };
12
13
  export declare class TrinoSQL extends BasicSQL<TrinoSqlLexer, ProgramContext, TrinoSqlParser> {
13
14
  protected createLexerFromCharStream(charStreams: CharStream): TrinoSqlLexer;
@@ -15,6 +16,7 @@ export declare class TrinoSQL extends BasicSQL<TrinoSqlLexer, ProgramContext, Tr
15
16
  protected get splitListener(): TrinoSqlSplitListener;
16
17
  protected createErrorListener(_errorListener: ErrorListener): TrinoErrorListener;
17
18
  protected createEntityCollector(input: string, caretTokenIndex?: number): TrinoEntityCollector;
19
+ protected createSemanticContextCollector(input: string, caretPosition: CaretPosition, allTokens: Token[], options?: SemanticCollectOptions): TrinoSemanticContextCollector;
18
20
  protected preferredRules: Set<number>;
19
21
  protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number, tokenIndexOffset: number): Suggestions<Token>;
20
22
  }
@@ -1,10 +1,11 @@
1
1
  import { TrinoSqlLexer } from '../../lib/trino/TrinoSqlLexer';
2
2
  import { TrinoSqlParser } from '../../lib/trino/TrinoSqlParser';
3
3
  import { BasicSQL } from '../common/basicSQL';
4
- import { EntityContextType } from '../common/types';
4
+ import { EntityContextType, } from '../common/types';
5
5
  import { TrinoSqlSplitListener } from './trinoSplitListener';
6
6
  import { TrinoEntityCollector } from './trinoEntityCollector';
7
7
  import { TrinoErrorListener } from './trinoErrorListener';
8
+ import { TrinoSemanticContextCollector } from './trinoSemanticContextCollector';
8
9
  export { TrinoSqlSplitListener, TrinoEntityCollector };
9
10
  export class TrinoSQL extends BasicSQL {
10
11
  constructor() {
@@ -40,6 +41,9 @@ export class TrinoSQL extends BasicSQL {
40
41
  createEntityCollector(input, caretTokenIndex) {
41
42
  return new TrinoEntityCollector(input, caretTokenIndex);
42
43
  }
44
+ createSemanticContextCollector(input, caretPosition, allTokens, options) {
45
+ return new TrinoSemanticContextCollector(input, caretPosition, allTokens, options);
46
+ }
43
47
  processCandidates(candidates, allTokens, caretTokenIndex, tokenIndexOffset) {
44
48
  const originalSyntaxSuggestions = [];
45
49
  const keywords = [];
@@ -0,0 +1,9 @@
1
+ import { TrinoSqlListener } from '../../lib';
2
+ import { StatementsContext } from '../../lib/trino/TrinoSqlParser';
3
+ import SemanticContextCollector from '../common/semanticContextCollector';
4
+ declare class TrinoSemanticContextCollector extends SemanticContextCollector implements TrinoSqlListener {
5
+ getWhiteSpaceRuleType(): number;
6
+ getStatementRuleType(): number;
7
+ enterStatements(ctx: StatementsContext): void;
8
+ }
9
+ export { TrinoSemanticContextCollector };
@@ -0,0 +1,14 @@
1
+ import { TrinoSqlParser } from '../../lib/trino/TrinoSqlParser';
2
+ import SemanticContextCollector from '../common/semanticContextCollector';
3
+ class TrinoSemanticContextCollector extends SemanticContextCollector {
4
+ getWhiteSpaceRuleType() {
5
+ return TrinoSqlParser.WS;
6
+ }
7
+ getStatementRuleType() {
8
+ return TrinoSqlParser.RULE_statements;
9
+ }
10
+ enterStatements(ctx) {
11
+ this.visitStatement(ctx);
12
+ }
13
+ }
14
+ export { TrinoSemanticContextCollector };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dt-sql-parser",
3
- "version": "4.1.0-beta.7",
3
+ "version": "4.1.0-beta.8",
4
4
  "authors": "DTStack Corporation",
5
5
  "description": "SQL Parsers for BigData, built with antlr4",
6
6
  "keywords": [