dt-sql-parser 4.0.0-beta.4.3 → 4.0.0-beta.4.5
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.
- package/LICENSE +21 -0
- package/README.md +9 -9
- package/dist/lib/flinksql/FlinkSqlLexer.d.ts +542 -408
- package/dist/lib/flinksql/FlinkSqlLexer.js +3474 -2368
- package/dist/lib/flinksql/FlinkSqlLexer.js.map +1 -1
- package/dist/lib/flinksql/FlinkSqlParser.d.ts +634 -776
- package/dist/lib/flinksql/FlinkSqlParser.js +3847 -4211
- package/dist/lib/flinksql/FlinkSqlParser.js.map +1 -1
- package/dist/lib/flinksql/FlinkSqlParserListener.d.ts +13 -22
- package/dist/lib/flinksql/FlinkSqlParserVisitor.d.ts +8 -14
- package/dist/lib/spark/SparkSqlLexer.d.ts +2 -2
- package/dist/lib/spark/SparkSqlLexer.js +6 -6
- package/dist/lib/spark/SparkSqlLexer.js.map +1 -1
- package/dist/lib/spark/SparkSqlParser.d.ts +10 -10
- package/dist/lib/spark/SparkSqlParser.js +20 -20
- package/dist/lib/spark/SparkSqlParser.js.map +1 -1
- package/dist/lib/trinosql/TrinoSqlLexer.d.ts +232 -232
- package/dist/lib/trinosql/TrinoSqlLexer.js +328 -312
- package/dist/lib/trinosql/TrinoSqlLexer.js.map +1 -1
- package/dist/lib/trinosql/TrinoSqlListener.d.ts +1066 -923
- package/dist/lib/trinosql/TrinoSqlListener.js +1 -1
- package/dist/lib/trinosql/TrinoSqlListener.js.map +1 -1
- package/dist/lib/trinosql/TrinoSqlParser.d.ts +1218 -1084
- package/dist/lib/trinosql/TrinoSqlParser.js +10856 -9918
- package/dist/lib/trinosql/TrinoSqlParser.js.map +1 -1
- package/dist/lib/trinosql/TrinoSqlVisitor.d.ts +589 -498
- package/dist/lib/trinosql/TrinoSqlVisitor.js +1 -1
- package/dist/lib/trinosql/TrinoSqlVisitor.js.map +1 -1
- package/dist/parser/trinosql.d.ts +9 -3
- package/dist/parser/trinosql.js +87 -5
- package/dist/parser/trinosql.js.map +1 -1
- package/dist/utils/findCaretTokenIndex.d.ts +1 -1
- package/package.json +3 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
// Generated from /Users/
|
|
1
|
+
// Generated from /Users/hayden/Desktop/dt-works/dt-sql-parser/src/grammar/trinosql/TrinoSql.g4 by ANTLR 4.9.0-SNAPSHOT
|
|
2
2
|
export {};
|
|
3
3
|
//# sourceMappingURL=TrinoSqlVisitor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrinoSqlVisitor.js","sourceRoot":"","sources":["../../../src/lib/trinosql/TrinoSqlVisitor.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"TrinoSqlVisitor.js","sourceRoot":"","sources":["../../../src/lib/trinosql/TrinoSqlVisitor.ts"],"names":[],"mappings":"AAAA,uHAAuH"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { Token } from 'antlr4ts';
|
|
2
2
|
import { CandidatesCollection } from 'antlr4-c3';
|
|
3
3
|
import { TrinoSqlLexer } from '../lib/trinosql/TrinoSqlLexer';
|
|
4
|
-
import { TrinoSqlParser, ProgramContext } from '../lib/trinosql/TrinoSqlParser';
|
|
4
|
+
import { TrinoSqlParser, ProgramContext, StatementContext } from '../lib/trinosql/TrinoSqlParser';
|
|
5
|
+
import { TrinoSqlListener } from '../lib/trinosql/TrinoSqlListener';
|
|
5
6
|
import BasicParser from './common/basicParser';
|
|
6
7
|
import { Suggestions } from './common/basic-parser-types';
|
|
7
8
|
export default class TrinoSQL extends BasicParser<TrinoSqlLexer, ProgramContext, TrinoSqlParser> {
|
|
8
9
|
protected createLexerFormCharStream(charStreams: any): TrinoSqlLexer;
|
|
9
10
|
protected createParserFromTokenStream(tokenStream: any): TrinoSqlParser;
|
|
10
|
-
protected get splitListener():
|
|
11
|
+
protected get splitListener(): TrinoSqlSplitListener;
|
|
11
12
|
protected preferredRules: Set<number>;
|
|
12
|
-
protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number): Suggestions<Token>;
|
|
13
|
+
protected processCandidates(candidates: CandidatesCollection, allTokens: Token[], caretTokenIndex: number, tokenIndexOffset: number): Suggestions<Token>;
|
|
14
|
+
}
|
|
15
|
+
export declare class TrinoSqlSplitListener implements TrinoSqlListener {
|
|
16
|
+
private _statementsContext;
|
|
17
|
+
exitStatement: (ctx: StatementContext) => void;
|
|
18
|
+
get statementsContext(): StatementContext[];
|
|
13
19
|
}
|
package/dist/parser/trinosql.js
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { TrinoSqlLexer } from '../lib/trinosql/TrinoSqlLexer';
|
|
2
2
|
import { TrinoSqlParser } from '../lib/trinosql/TrinoSqlParser';
|
|
3
3
|
import BasicParser from './common/basicParser';
|
|
4
|
+
import { SyntaxContextType } from './common/basic-parser-types';
|
|
4
5
|
export default class TrinoSQL extends BasicParser {
|
|
5
6
|
constructor() {
|
|
6
7
|
super(...arguments);
|
|
7
|
-
this.preferredRules = new Set(
|
|
8
|
+
this.preferredRules = new Set([
|
|
9
|
+
TrinoSqlParser.RULE_catalogName,
|
|
10
|
+
TrinoSqlParser.RULE_catalogNameCreate,
|
|
11
|
+
TrinoSqlParser.RULE_schemaName,
|
|
12
|
+
TrinoSqlParser.RULE_schemaNameCreate,
|
|
13
|
+
TrinoSqlParser.RULE_tableName,
|
|
14
|
+
TrinoSqlParser.RULE_tableNameCreate,
|
|
15
|
+
TrinoSqlParser.RULE_viewName,
|
|
16
|
+
TrinoSqlParser.RULE_viewNameCreate,
|
|
17
|
+
TrinoSqlParser.RULE_functionName,
|
|
18
|
+
]);
|
|
8
19
|
}
|
|
9
20
|
createLexerFormCharStream(charStreams) {
|
|
10
21
|
const lexer = new TrinoSqlLexer(charStreams);
|
|
@@ -15,13 +26,84 @@ export default class TrinoSQL extends BasicParser {
|
|
|
15
26
|
return parser;
|
|
16
27
|
}
|
|
17
28
|
get splitListener() {
|
|
18
|
-
return
|
|
29
|
+
return new TrinoSqlSplitListener();
|
|
19
30
|
}
|
|
20
|
-
processCandidates(candidates, allTokens, caretTokenIndex) {
|
|
31
|
+
processCandidates(candidates, allTokens, caretTokenIndex, tokenIndexOffset) {
|
|
32
|
+
const originalSyntaxSuggestions = [];
|
|
33
|
+
const keywords = [];
|
|
34
|
+
for (let candidate of candidates.rules) {
|
|
35
|
+
const [ruleType, candidateRule] = candidate;
|
|
36
|
+
const startTokenIndex = candidateRule.startTokenIndex + tokenIndexOffset;
|
|
37
|
+
const tokenRanges = allTokens.slice(startTokenIndex, caretTokenIndex + tokenIndexOffset + 1);
|
|
38
|
+
let syntaxContextType;
|
|
39
|
+
switch (ruleType) {
|
|
40
|
+
case TrinoSqlParser.RULE_catalogName: {
|
|
41
|
+
syntaxContextType = SyntaxContextType.CATALOG;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case TrinoSqlParser.RULE_schemaName: {
|
|
45
|
+
syntaxContextType = SyntaxContextType.DATABASE;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
case TrinoSqlParser.RULE_schemaNameCreate: {
|
|
49
|
+
syntaxContextType = SyntaxContextType.DATABASE_CREATE;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
case TrinoSqlParser.RULE_tableName: {
|
|
53
|
+
syntaxContextType = SyntaxContextType.TABLE;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case TrinoSqlParser.RULE_tableNameCreate: {
|
|
57
|
+
syntaxContextType = SyntaxContextType.TABLE_CREATE;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
case TrinoSqlParser.RULE_viewName: {
|
|
61
|
+
syntaxContextType = SyntaxContextType.VIEW;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
case TrinoSqlParser.RULE_viewNameCreate: {
|
|
65
|
+
syntaxContextType = SyntaxContextType.VIEW_CREATE;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
case TrinoSqlParser.RULE_functionName: {
|
|
69
|
+
syntaxContextType = SyntaxContextType.FUNCTION;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
default:
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
if (syntaxContextType) {
|
|
76
|
+
originalSyntaxSuggestions.push({
|
|
77
|
+
syntaxContextType,
|
|
78
|
+
wordRanges: tokenRanges,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
for (let candidate of candidates.tokens) {
|
|
83
|
+
const symbolicName = this._parser.vocabulary.getSymbolicName(candidate[0]);
|
|
84
|
+
const displayName = this._parser.vocabulary.getDisplayName(candidate[0]);
|
|
85
|
+
if (symbolicName && symbolicName.startsWith('KW_')) {
|
|
86
|
+
const keyword = displayName.startsWith("'") && displayName.endsWith("'")
|
|
87
|
+
? displayName.slice(1, -1)
|
|
88
|
+
: displayName;
|
|
89
|
+
keywords.push(keyword);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
21
92
|
return {
|
|
22
|
-
syntax:
|
|
23
|
-
keywords
|
|
93
|
+
syntax: originalSyntaxSuggestions,
|
|
94
|
+
keywords,
|
|
24
95
|
};
|
|
25
96
|
}
|
|
26
97
|
}
|
|
98
|
+
export class TrinoSqlSplitListener {
|
|
99
|
+
constructor() {
|
|
100
|
+
this._statementsContext = [];
|
|
101
|
+
this.exitStatement = (ctx) => {
|
|
102
|
+
this._statementsContext.push(ctx);
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
get statementsContext() {
|
|
106
|
+
return this._statementsContext;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
27
109
|
//# sourceMappingURL=trinosql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trinosql.js","sourceRoot":"","sources":["../../src/parser/trinosql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"trinosql.js","sourceRoot":"","sources":["../../src/parser/trinosql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Token } from 'antlr4ts';
|
|
2
|
-
import { CaretPosition } from '
|
|
2
|
+
import { CaretPosition } from '../parser/common/basic-parser-types';
|
|
3
3
|
/**
|
|
4
4
|
* find token index via caret position (cursor position)
|
|
5
5
|
* @param caretPosition
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dt-sql-parser",
|
|
3
|
-
"version": "4.0.0-beta.4.
|
|
3
|
+
"version": "4.0.0-beta.4.5",
|
|
4
4
|
"description": "SQL Parsers for BigData, built with antlr4",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sql",
|
|
@@ -57,5 +57,6 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"antlr4-c3": "^3.0.1",
|
|
59
59
|
"antlr4ts": "^0.5.0-alpha.4"
|
|
60
|
-
}
|
|
60
|
+
},
|
|
61
|
+
"sideEffects": false
|
|
61
62
|
}
|