rawsql-ts 0.16.0 → 0.18.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.
- package/LICENSE +21 -21
- package/README.md +161 -875
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +23 -21
- package/dist/esm/index.min.js.map +4 -4
- package/dist/esm/models/Clause.d.ts +15 -3
- package/dist/esm/models/Clause.js +2 -1
- package/dist/esm/models/Clause.js.map +1 -1
- package/dist/esm/models/CreateTableQuery.d.ts +3 -0
- package/dist/esm/models/CreateTableQuery.js +5 -4
- package/dist/esm/models/CreateTableQuery.js.map +1 -1
- package/dist/esm/models/DDLStatements.d.ts +71 -0
- package/dist/esm/models/DDLStatements.js +63 -0
- package/dist/esm/models/DDLStatements.js.map +1 -1
- package/dist/esm/models/KeywordTrie.d.ts +2 -3
- package/dist/esm/models/KeywordTrie.js +26 -27
- package/dist/esm/models/KeywordTrie.js.map +1 -1
- package/dist/esm/models/SqlPrintToken.d.ts +1 -0
- package/dist/esm/models/SqlPrintToken.js +1 -0
- package/dist/esm/models/SqlPrintToken.js.map +1 -1
- package/dist/esm/parsers/CheckpointStatementParser.d.ts +8 -0
- package/dist/esm/parsers/CheckpointStatementParser.js +14 -0
- package/dist/esm/parsers/CheckpointStatementParser.js.map +1 -0
- package/dist/esm/parsers/ClusterStatementParser.d.ts +8 -0
- package/dist/esm/parsers/ClusterStatementParser.js +14 -0
- package/dist/esm/parsers/ClusterStatementParser.js.map +1 -0
- package/dist/esm/parsers/CommandExpressionParser.js.map +1 -1
- package/dist/esm/parsers/CommentOnParser.d.ts +23 -0
- package/dist/esm/parsers/CommentOnParser.js +61 -0
- package/dist/esm/parsers/CommentOnParser.js.map +1 -0
- package/dist/esm/parsers/CommonTableParser.d.ts +5 -1
- package/dist/esm/parsers/CommonTableParser.js +94 -16
- package/dist/esm/parsers/CommonTableParser.js.map +1 -1
- package/dist/esm/parsers/CreateIndexParser.js +12 -6
- package/dist/esm/parsers/CreateIndexParser.js.map +1 -1
- package/dist/esm/parsers/CreateTableParser.d.ts +2 -0
- package/dist/esm/parsers/CreateTableParser.js +11 -2
- package/dist/esm/parsers/CreateTableParser.js.map +1 -1
- package/dist/esm/parsers/ExplainStatementParser.js.map +1 -1
- package/dist/esm/parsers/FullNameParser.js +35 -3
- package/dist/esm/parsers/FullNameParser.js.map +1 -1
- package/dist/esm/parsers/OrderByClauseParser.js.map +1 -1
- package/dist/esm/parsers/ReindexStatementParser.d.ts +8 -0
- package/dist/esm/parsers/ReindexStatementParser.js +14 -0
- package/dist/esm/parsers/ReindexStatementParser.js.map +1 -0
- package/dist/esm/parsers/SelectQueryParser.js.map +1 -1
- package/dist/esm/parsers/SourceParser.js +6 -1
- package/dist/esm/parsers/SourceParser.js.map +1 -1
- package/dist/esm/parsers/SqlParser.d.ts +12 -2
- package/dist/esm/parsers/SqlParser.js +117 -251
- package/dist/esm/parsers/SqlParser.js.map +1 -1
- package/dist/esm/parsers/SqlPrintTokenParser.d.ts +1 -0
- package/dist/esm/parsers/SqlPrintTokenParser.js +32 -4
- package/dist/esm/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/esm/parsers/SqlTokenizer.d.ts +5 -0
- package/dist/esm/parsers/SqlTokenizer.js +181 -67
- package/dist/esm/parsers/SqlTokenizer.js.map +1 -1
- package/dist/esm/parsers/UsingClauseParser.js.map +1 -1
- package/dist/esm/parsers/VacuumStatementParser.d.ts +8 -0
- package/dist/esm/parsers/VacuumStatementParser.js +14 -0
- package/dist/esm/parsers/VacuumStatementParser.js.map +1 -0
- package/dist/esm/tokenReaders/CommandTokenReader.js +22 -4
- package/dist/esm/tokenReaders/CommandTokenReader.js.map +1 -1
- package/dist/esm/tokenReaders/StringSpecifierTokenReader.d.ts +2 -0
- package/dist/esm/tokenReaders/StringSpecifierTokenReader.js +30 -13
- package/dist/esm/tokenReaders/StringSpecifierTokenReader.js.map +1 -1
- package/dist/esm/tokenReaders/TokenReaderManager.d.ts +0 -7
- package/dist/esm/tokenReaders/TokenReaderManager.js +16 -48
- package/dist/esm/tokenReaders/TokenReaderManager.js.map +1 -1
- package/dist/esm/transformers/AliasRenamer.d.ts +1 -0
- package/dist/esm/transformers/AliasRenamer.js +7 -1
- package/dist/esm/transformers/AliasRenamer.js.map +1 -1
- package/dist/esm/transformers/CTECollector.d.ts +5 -2
- package/dist/esm/transformers/CTECollector.js +49 -0
- package/dist/esm/transformers/CTECollector.js.map +1 -1
- package/dist/esm/transformers/CTEDependencyTracer.d.ts +6 -1
- package/dist/esm/transformers/CTEDependencyTracer.js +44 -2
- package/dist/esm/transformers/CTEDependencyTracer.js.map +1 -1
- package/dist/esm/transformers/CTEDisabler.d.ts +6 -0
- package/dist/esm/transformers/CTEDisabler.js +19 -0
- package/dist/esm/transformers/CTEDisabler.js.map +1 -1
- package/dist/esm/transformers/CTERenamer.js +5 -2
- package/dist/esm/transformers/CTERenamer.js.map +1 -1
- package/dist/esm/transformers/ColumnReferenceCollector.d.ts +4 -0
- package/dist/esm/transformers/ColumnReferenceCollector.js +69 -1
- package/dist/esm/transformers/ColumnReferenceCollector.js.map +1 -1
- package/dist/esm/transformers/DeleteResultSelectConverter.js.map +1 -1
- package/dist/esm/transformers/DynamicQueryBuilder.d.ts +88 -16
- package/dist/esm/transformers/DynamicQueryBuilder.js +146 -18
- package/dist/esm/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/esm/transformers/ExistsPredicateInjector.d.ts +33 -0
- package/dist/esm/transformers/ExistsPredicateInjector.js +294 -0
- package/dist/esm/transformers/ExistsPredicateInjector.js.map +1 -0
- package/dist/esm/transformers/FixtureCteBuilder.js +5 -2
- package/dist/esm/transformers/FixtureCteBuilder.js.map +1 -1
- package/dist/esm/transformers/InsertResultSelectConverter.d.ts +1 -0
- package/dist/esm/transformers/InsertResultSelectConverter.js +28 -7
- package/dist/esm/transformers/InsertResultSelectConverter.js.map +1 -1
- package/dist/esm/transformers/LinePrinter.d.ts +4 -2
- package/dist/esm/transformers/LinePrinter.js +93 -22
- package/dist/esm/transformers/LinePrinter.js.map +1 -1
- package/dist/esm/transformers/MergeResultSelectConverter.js.map +1 -1
- package/dist/esm/transformers/OptimizeUnusedLeftJoins.d.ts +33 -0
- package/dist/esm/transformers/OptimizeUnusedLeftJoins.js +333 -0
- package/dist/esm/transformers/OptimizeUnusedLeftJoins.js.map +1 -0
- package/dist/esm/transformers/PruneOptionalConditionBranches.d.ts +22 -0
- package/dist/esm/transformers/PruneOptionalConditionBranches.js +265 -0
- package/dist/esm/transformers/PruneOptionalConditionBranches.js.map +1 -0
- package/dist/esm/transformers/SSSQLFilterBuilder.d.ts +30 -0
- package/dist/esm/transformers/SSSQLFilterBuilder.js +253 -0
- package/dist/esm/transformers/SSSQLFilterBuilder.js.map +1 -0
- package/dist/esm/transformers/SchemaCollector.d.ts +3 -0
- package/dist/esm/transformers/SchemaCollector.js +37 -1
- package/dist/esm/transformers/SchemaCollector.js.map +1 -1
- package/dist/esm/transformers/SelectValueCollector.d.ts +5 -0
- package/dist/esm/transformers/SelectValueCollector.js +44 -2
- package/dist/esm/transformers/SelectValueCollector.js.map +1 -1
- package/dist/esm/transformers/SqlParamInjector.d.ts +5 -1
- package/dist/esm/transformers/SqlParamInjector.js +47 -11
- package/dist/esm/transformers/SqlParamInjector.js.map +1 -1
- package/dist/esm/transformers/SqlPrinter.js +8 -2
- package/dist/esm/transformers/SqlPrinter.js.map +1 -1
- package/dist/esm/transformers/TableSourceCollector.d.ts +9 -1
- package/dist/esm/transformers/TableSourceCollector.js +72 -5
- package/dist/esm/transformers/TableSourceCollector.js.map +1 -1
- package/dist/esm/transformers/UpdateResultSelectConverter.js.map +1 -1
- package/dist/esm/transformers/UpstreamSelectQueryFinder.d.ts +5 -0
- package/dist/esm/transformers/UpstreamSelectQueryFinder.js +46 -1
- package/dist/esm/transformers/UpstreamSelectQueryFinder.js.map +1 -1
- package/dist/esm/utils/CommentUtils.d.ts +1 -0
- package/dist/esm/utils/CommentUtils.js +14 -4
- package/dist/esm/utils/CommentUtils.js.map +1 -1
- package/dist/esm/utils/MultiQuerySplitter.d.ts +7 -11
- package/dist/esm/utils/MultiQuerySplitter.js +105 -66
- package/dist/esm/utils/MultiQuerySplitter.js.map +1 -1
- package/dist/esm/utils/ParameterRemover.d.ts +4 -0
- package/dist/esm/utils/ParameterRemover.js +23 -0
- package/dist/esm/utils/ParameterRemover.js.map +1 -1
- package/dist/esm/utils/RelationGraph.d.ts +43 -0
- package/dist/esm/utils/RelationGraph.js +117 -0
- package/dist/esm/utils/RelationGraph.js.map +1 -0
- package/dist/esm/utils/ScopeResolver.d.ts +5 -2
- package/dist/esm/utils/ScopeResolver.js +37 -18
- package/dist/esm/utils/ScopeResolver.js.map +1 -1
- package/dist/esm/utils/charLookupTable.d.ts +6 -0
- package/dist/esm/utils/charLookupTable.js +9 -1
- package/dist/esm/utils/charLookupTable.js.map +1 -1
- package/dist/esm/utils/serialTypeNormalization.d.ts +15 -0
- package/dist/esm/utils/serialTypeNormalization.js +55 -0
- package/dist/esm/utils/serialTypeNormalization.js.map +1 -0
- package/dist/esm/utils/stringUtils.js +51 -26
- package/dist/esm/utils/stringUtils.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +22 -20
- package/dist/index.min.js.map +4 -4
- package/dist/models/CreateTableQuery.js +5 -4
- package/dist/models/CreateTableQuery.js.map +1 -1
- package/dist/models/DDLStatements.js +14 -1
- package/dist/models/DDLStatements.js.map +1 -1
- package/dist/models/KeywordTrie.js +26 -27
- package/dist/models/KeywordTrie.js.map +1 -1
- package/dist/models/SqlPrintToken.js +1 -0
- package/dist/models/SqlPrintToken.js.map +1 -1
- package/dist/parsers/CommentOnParser.js +65 -0
- package/dist/parsers/CommentOnParser.js.map +1 -0
- package/dist/parsers/CreateIndexParser.js +12 -6
- package/dist/parsers/CreateIndexParser.js.map +1 -1
- package/dist/parsers/CreateTableParser.js +6 -1
- package/dist/parsers/CreateTableParser.js.map +1 -1
- package/dist/parsers/FullNameParser.js +35 -3
- package/dist/parsers/FullNameParser.js.map +1 -1
- package/dist/parsers/SqlParser.js +93 -307
- package/dist/parsers/SqlParser.js.map +1 -1
- package/dist/parsers/SqlPrintTokenParser.js +27 -3
- package/dist/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/parsers/SqlTokenizer.js +176 -67
- package/dist/parsers/SqlTokenizer.js.map +1 -1
- package/dist/src/index.d.ts +6 -0
- package/dist/src/models/CreateTableQuery.d.ts +3 -0
- package/dist/src/models/DDLStatements.d.ts +15 -0
- package/dist/src/models/KeywordTrie.d.ts +2 -3
- package/dist/src/models/SqlPrintToken.d.ts +1 -0
- package/dist/src/parsers/CommentOnParser.d.ts +23 -0
- package/dist/src/parsers/CreateTableParser.d.ts +1 -0
- package/dist/src/parsers/SqlParser.d.ts +8 -2
- package/dist/src/parsers/SqlPrintTokenParser.d.ts +1 -0
- package/dist/src/parsers/SqlTokenizer.d.ts +5 -0
- package/dist/src/tokenReaders/StringSpecifierTokenReader.d.ts +2 -0
- package/dist/src/tokenReaders/TokenReaderManager.d.ts +0 -7
- package/dist/src/transformers/DynamicQueryBuilder.d.ts +21 -13
- package/dist/src/transformers/LinePrinter.d.ts +4 -2
- package/dist/src/transformers/PruneOptionalConditionBranches.d.ts +22 -0
- package/dist/src/transformers/SSSQLFilterBuilder.d.ts +30 -0
- package/dist/src/utils/CommentUtils.d.ts +1 -0
- package/dist/src/utils/MultiQuerySplitter.d.ts +7 -11
- package/dist/src/utils/RelationGraph.d.ts +43 -0
- package/dist/tokenReaders/CommandTokenReader.js +21 -4
- package/dist/tokenReaders/CommandTokenReader.js.map +1 -1
- package/dist/tokenReaders/StringSpecifierTokenReader.js +30 -13
- package/dist/tokenReaders/StringSpecifierTokenReader.js.map +1 -1
- package/dist/tokenReaders/TokenReaderManager.js +16 -48
- package/dist/tokenReaders/TokenReaderManager.js.map +1 -1
- package/dist/transformers/DynamicQueryBuilder.js +28 -95
- package/dist/transformers/DynamicQueryBuilder.js.map +1 -1
- package/dist/transformers/LinePrinter.js +93 -22
- package/dist/transformers/LinePrinter.js.map +1 -1
- package/dist/transformers/PruneOptionalConditionBranches.js +270 -0
- package/dist/transformers/PruneOptionalConditionBranches.js.map +1 -0
- package/dist/transformers/SSSQLFilterBuilder.js +259 -0
- package/dist/transformers/SSSQLFilterBuilder.js.map +1 -0
- package/dist/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/utils/CommentUtils.js +14 -4
- package/dist/utils/CommentUtils.js.map +1 -1
- package/dist/utils/MultiQuerySplitter.js +105 -66
- package/dist/utils/MultiQuerySplitter.js.map +1 -1
- package/dist/utils/RelationGraph.js +123 -0
- package/dist/utils/RelationGraph.js.map +1 -0
- package/dist/utils/stringUtils.js +42 -23
- package/dist/utils/stringUtils.js.map +1 -1
- package/package.json +4 -4
|
@@ -42,7 +42,8 @@ export class LinePrinter {
|
|
|
42
42
|
if (this.lines.length > 0) {
|
|
43
43
|
const current = this.lines[this.lines.length - 1];
|
|
44
44
|
if (current.text !== '') {
|
|
45
|
-
current.text
|
|
45
|
+
const lineText = this.endsWithAsciiWhitespace(current.text) ? current.text.trimEnd() : current.text;
|
|
46
|
+
current.text = lineText + this.newline;
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
this.lines.push(new PrintLine(level, ''));
|
|
@@ -53,11 +54,12 @@ export class LinePrinter {
|
|
|
53
54
|
* @param text Text to append
|
|
54
55
|
*/
|
|
55
56
|
appendText(text) {
|
|
56
|
-
// Handle special comma cleanup
|
|
57
|
-
if (this.cleanupLine(
|
|
57
|
+
// Handle special comma cleanup only when a comma token is appended.
|
|
58
|
+
if (text === ',' && this.cleanupLine()) {
|
|
58
59
|
// If cleanup was performed, add comma to previous line
|
|
59
60
|
const previousLine = this.lines[this.lines.length - 1];
|
|
60
|
-
previousLine.text
|
|
61
|
+
const lineText = this.endsWithAsciiWhitespace(previousLine.text) ? previousLine.text.trimEnd() : previousLine.text;
|
|
62
|
+
previousLine.text = lineText + text;
|
|
61
63
|
return;
|
|
62
64
|
}
|
|
63
65
|
const workLine = this.getCurrentLine();
|
|
@@ -66,29 +68,53 @@ export class LinePrinter {
|
|
|
66
68
|
workLine.text += text;
|
|
67
69
|
}
|
|
68
70
|
}
|
|
71
|
+
endsWithAsciiWhitespace(text) {
|
|
72
|
+
if (text.length === 0) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
const tail = text.charCodeAt(text.length - 1);
|
|
76
|
+
return tail === 32 || tail === 9 || tail === 10 || tail === 13;
|
|
77
|
+
}
|
|
69
78
|
trimTrailingWhitespaceFromPreviousLine() {
|
|
70
79
|
if (this.lines.length < 2) {
|
|
71
80
|
return;
|
|
72
81
|
}
|
|
73
82
|
const previousLine = this.lines[this.lines.length - 2];
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
const text = previousLine.text;
|
|
84
|
+
const lineEnd = this.findLineEndIndex(text);
|
|
85
|
+
let contentEnd = lineEnd;
|
|
86
|
+
// Trim only trailing spaces/tabs before a preserved newline suffix.
|
|
87
|
+
while (contentEnd > 0) {
|
|
88
|
+
const code = text.charCodeAt(contentEnd - 1);
|
|
89
|
+
if (code !== 32 && code !== 9) {
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
contentEnd--;
|
|
93
|
+
}
|
|
94
|
+
if (contentEnd === lineEnd) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
previousLine.text = text.slice(0, contentEnd) + text.slice(lineEnd);
|
|
98
|
+
}
|
|
99
|
+
findLineEndIndex(text) {
|
|
100
|
+
if (text.endsWith('\r\n')) {
|
|
101
|
+
return text.length - 2;
|
|
102
|
+
}
|
|
103
|
+
if (text.endsWith('\n')) {
|
|
104
|
+
return text.length - 1;
|
|
105
|
+
}
|
|
106
|
+
return text.length;
|
|
80
107
|
}
|
|
81
108
|
/**
|
|
82
109
|
* Cleans up the current line for comma formatting.
|
|
83
110
|
* For 'after' and 'none' comma styles, removes empty line when a comma is being added.
|
|
84
|
-
* @param text The text being processed
|
|
85
111
|
* @returns true if cleanup was performed, false otherwise
|
|
86
112
|
*/
|
|
87
|
-
cleanupLine(
|
|
113
|
+
cleanupLine() {
|
|
88
114
|
const workLine = this.getCurrentLine();
|
|
89
|
-
if (
|
|
115
|
+
if (this.isAsciiWhitespaceOnly(workLine.text) && this.lines.length > 1 && (this.commaBreak === 'after' || this.commaBreak === 'none')) {
|
|
90
116
|
let previousIndex = this.lines.length - 2;
|
|
91
|
-
while (previousIndex >= 0 && this.lines[previousIndex].text
|
|
117
|
+
while (previousIndex >= 0 && this.isAsciiWhitespaceOnly(this.lines[previousIndex].text)) {
|
|
92
118
|
this.lines.splice(previousIndex, 1);
|
|
93
119
|
previousIndex--;
|
|
94
120
|
}
|
|
@@ -105,14 +131,59 @@ export class LinePrinter {
|
|
|
105
131
|
}
|
|
106
132
|
return false; // No cleanup needed
|
|
107
133
|
}
|
|
134
|
+
isAsciiWhitespaceOnly(text) {
|
|
135
|
+
for (let i = 0; i < text.length; i++) {
|
|
136
|
+
const code = text.charCodeAt(i);
|
|
137
|
+
if (code !== 32 && code !== 9 && code !== 10 && code !== 13) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
108
143
|
lineHasTrailingComment(text) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
144
|
+
if (!text.includes('--')) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
if (!text.includes("'") && !text.includes('"')) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
let quote = null;
|
|
151
|
+
for (let i = 0; i < text.length - 1; i++) {
|
|
152
|
+
const current = text.charCodeAt(i);
|
|
153
|
+
const next = text.charCodeAt(i + 1);
|
|
154
|
+
if (quote === 39) {
|
|
155
|
+
if (current === 39) {
|
|
156
|
+
if (next === 39) {
|
|
157
|
+
i++;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
quote = null;
|
|
161
|
+
}
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (quote === 34) {
|
|
165
|
+
if (current === 34) {
|
|
166
|
+
if (next === 34) {
|
|
167
|
+
i++;
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
quote = null;
|
|
171
|
+
}
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (current === 39) {
|
|
175
|
+
quote = 39;
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
if (current === 34) {
|
|
179
|
+
quote = 34;
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
if (current === 45 && next === 45) {
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return false;
|
|
116
187
|
}
|
|
117
188
|
getCurrentLine() {
|
|
118
189
|
if (this.lines.length > 0) {
|
|
@@ -129,7 +200,7 @@ export class LinePrinter {
|
|
|
129
200
|
isCurrentLineEmpty() {
|
|
130
201
|
if (this.lines.length > 0) {
|
|
131
202
|
const currentLine = this.lines[this.lines.length - 1];
|
|
132
|
-
return currentLine.text
|
|
203
|
+
return this.isAsciiWhitespaceOnly(currentLine.text);
|
|
133
204
|
}
|
|
134
205
|
return true;
|
|
135
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinePrinter.js","sourceRoot":"","sources":["../../../src/transformers/LinePrinter.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,OAAO,WAAW;IAMpB;;;;;OAKG;IACH,YAAY,aAA+B,GAAG,EAAE,aAAqB,CAAC,EAAE,UAAyB,MAAM,EAAE,aAA8B,MAAM;QACzI,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAEM,KAAK;QACR,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;gBACnB,yBAAyB;gBACzB,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YAClD,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAa;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"LinePrinter.js","sourceRoot":"","sources":["../../../src/transformers/LinePrinter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MergeResultSelectConverter.js","sourceRoot":"","sources":["../../../src/transformers/MergeResultSelectConverter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MergeResultSelectConverter.js","sourceRoot":"","sources":["../../../src/transformers/MergeResultSelectConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SelectQuery } from '../models/SelectQuery';
|
|
2
|
+
/**
|
|
3
|
+
* Captures the schema metadata required to safely evaluate LEFT JOIN removal.
|
|
4
|
+
*/
|
|
5
|
+
export interface SchemaTableInfo {
|
|
6
|
+
/** The fully qualified table name that appears in SQL references. */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Column names that exist on the table for any schema validation steps. */
|
|
9
|
+
columns: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Unique key declarations for the table.
|
|
12
|
+
* Each entry is an array of column names that together form a uniqueness constraint.
|
|
13
|
+
*/
|
|
14
|
+
uniqueKeys: string[][];
|
|
15
|
+
}
|
|
16
|
+
/** Ordered set of table metadata consumed by the optimizer. */
|
|
17
|
+
export type SchemaInfo = SchemaTableInfo[];
|
|
18
|
+
/**
|
|
19
|
+
* Removes LEFT JOIN clauses from the provided query when AST references prove the join target is unused and schema metadata certifies the join column is unique.
|
|
20
|
+
*/
|
|
21
|
+
export declare const optimizeUnusedLeftJoins: (query: SelectQuery, schemaInfo: SchemaInfo) => SelectQuery;
|
|
22
|
+
/**
|
|
23
|
+
* Applies the unused left join optimizer until no further joins can be trimmed, ensuring cascading removals stabilize.
|
|
24
|
+
*/
|
|
25
|
+
export declare const optimizeUnusedLeftJoinsToFixedPoint: (query: SelectQuery, schemaInfo: SchemaInfo) => SelectQuery;
|
|
26
|
+
/**
|
|
27
|
+
* Removes unused SELECT-only CTEs from the query when AST references confirm they are never consumed.
|
|
28
|
+
*/
|
|
29
|
+
export declare const optimizeUnusedCtes: (query: SelectQuery) => SelectQuery;
|
|
30
|
+
/**
|
|
31
|
+
* Repeatedly prunes unused CTEs until a fixed point is reached so chained removals complete deterministically.
|
|
32
|
+
*/
|
|
33
|
+
export declare const optimizeUnusedCtesToFixedPoint: (query: SelectQuery) => SelectQuery;
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { BinaryExpression, ColumnReference } from '../models/ValueComponent';
|
|
2
|
+
import { BinarySelectQuery, SimpleSelectQuery } from '../models/SelectQuery';
|
|
3
|
+
import { ColumnReferenceCollector } from './ColumnReferenceCollector';
|
|
4
|
+
import { CTETableReferenceCollector } from './CTETableReferenceCollector';
|
|
5
|
+
import { JoinOnClause, TableSource } from '../models/Clause';
|
|
6
|
+
const NAMESPACE_SEPARATOR = '|';
|
|
7
|
+
const normalizeIdentifier = (input) => {
|
|
8
|
+
var _a;
|
|
9
|
+
const value = (_a = input === null || input === void 0 ? void 0 : input.trim()) !== null && _a !== void 0 ? _a : '';
|
|
10
|
+
return value === '' ? '' : value.toLowerCase();
|
|
11
|
+
};
|
|
12
|
+
const normalizeColumnSetKey = (columns) => {
|
|
13
|
+
return columns
|
|
14
|
+
.map(column => normalizeIdentifier(column))
|
|
15
|
+
.filter(Boolean)
|
|
16
|
+
.sort()
|
|
17
|
+
.join(NAMESPACE_SEPARATOR);
|
|
18
|
+
};
|
|
19
|
+
const buildSchemaMap = (schemaInfo) => {
|
|
20
|
+
const map = new Map();
|
|
21
|
+
// Normalize table names and precompute reusable sets for column lookups.
|
|
22
|
+
for (const table of schemaInfo) {
|
|
23
|
+
const normalizedName = normalizeIdentifier(table.name);
|
|
24
|
+
if (!normalizedName) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const columnSet = new Set(table.columns.map(normalizeIdentifier).filter(Boolean));
|
|
28
|
+
const uniqueSetKeys = new Set();
|
|
29
|
+
for (const uniqueKey of table.uniqueKeys) {
|
|
30
|
+
const normalizedKey = normalizeColumnSetKey(uniqueKey);
|
|
31
|
+
if (normalizedKey) {
|
|
32
|
+
uniqueSetKeys.add(normalizedKey);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (columnSet.size === 0 && uniqueSetKeys.size === 0) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
map.set(normalizedName, { columnSet, uniqueSetKeys });
|
|
39
|
+
}
|
|
40
|
+
return map;
|
|
41
|
+
};
|
|
42
|
+
const collectReferenceMetadata = (query) => {
|
|
43
|
+
var _a, _b, _c;
|
|
44
|
+
const collector = new ColumnReferenceCollector();
|
|
45
|
+
const namespaceCounts = new Map();
|
|
46
|
+
const unqualifiedColumns = new Set();
|
|
47
|
+
// Track every column reference in the query so we can detect aliases used outside their JOINs.
|
|
48
|
+
for (const ref of collector.collect(query)) {
|
|
49
|
+
const namespace = normalizeIdentifier(ref.getNamespace());
|
|
50
|
+
if (namespace) {
|
|
51
|
+
namespaceCounts.set(namespace, ((_a = namespaceCounts.get(namespace)) !== null && _a !== void 0 ? _a : 0) + 1);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const column = normalizeIdentifier(ref.column.name);
|
|
55
|
+
if (column) {
|
|
56
|
+
unqualifiedColumns.add(column);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const joinConditionCounts = new Map();
|
|
61
|
+
if ((_b = query.fromClause) === null || _b === void 0 ? void 0 : _b.joins) {
|
|
62
|
+
for (const join of query.fromClause.joins) {
|
|
63
|
+
const counts = new Map();
|
|
64
|
+
if (join.condition && join.condition instanceof JoinOnClause) {
|
|
65
|
+
const joinCollector = new ColumnReferenceCollector();
|
|
66
|
+
for (const ref of joinCollector.collect(join.condition.condition)) {
|
|
67
|
+
const namespace = normalizeIdentifier(ref.getNamespace());
|
|
68
|
+
if (namespace) {
|
|
69
|
+
counts.set(namespace, ((_c = counts.get(namespace)) !== null && _c !== void 0 ? _c : 0) + 1);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
joinConditionCounts.set(join, counts);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return { namespaceCounts, unqualifiedColumns, joinConditionCounts };
|
|
77
|
+
};
|
|
78
|
+
const isLeftJoin = (join) => {
|
|
79
|
+
return join.joinType.value.toLowerCase().includes('left');
|
|
80
|
+
};
|
|
81
|
+
const getJoinIdentifiers = (join) => {
|
|
82
|
+
const identifiers = new Set();
|
|
83
|
+
const alias = normalizeIdentifier(join.source.getAliasName());
|
|
84
|
+
if (alias) {
|
|
85
|
+
identifiers.add(alias);
|
|
86
|
+
}
|
|
87
|
+
if (join.source.datasource instanceof TableSource) {
|
|
88
|
+
const rawName = join.source.datasource.getSourceName();
|
|
89
|
+
if (rawName) {
|
|
90
|
+
identifiers.add(normalizeIdentifier(rawName));
|
|
91
|
+
}
|
|
92
|
+
const shortName = normalizeIdentifier(join.source.datasource.table.name);
|
|
93
|
+
if (shortName) {
|
|
94
|
+
identifiers.add(shortName);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return [...identifiers];
|
|
98
|
+
};
|
|
99
|
+
const hasExternalReferences = (identifiers, metadata, join) => {
|
|
100
|
+
var _a, _b, _c;
|
|
101
|
+
const local = (_a = metadata.joinConditionCounts.get(join)) !== null && _a !== void 0 ? _a : new Map();
|
|
102
|
+
for (const identifier of identifiers) {
|
|
103
|
+
const total = (_b = metadata.namespaceCounts.get(identifier)) !== null && _b !== void 0 ? _b : 0;
|
|
104
|
+
const localCount = (_c = local.get(identifier)) !== null && _c !== void 0 ? _c : 0;
|
|
105
|
+
if (total - localCount > 0) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
};
|
|
111
|
+
const getJoinColumnInfo = (join, identifiers) => {
|
|
112
|
+
if (!(join.condition instanceof JoinOnClause)) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
const expression = join.condition.condition;
|
|
116
|
+
if (!(expression instanceof BinaryExpression)) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
const operatorValue = expression.operator.value.trim().toLowerCase();
|
|
120
|
+
if (operatorValue !== '=') {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
const resolveColumn = (component) => {
|
|
124
|
+
return component instanceof ColumnReference ? component : null;
|
|
125
|
+
};
|
|
126
|
+
const leftRef = resolveColumn(expression.left);
|
|
127
|
+
const rightRef = resolveColumn(expression.right);
|
|
128
|
+
if (!leftRef || !rightRef) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
const normalizedLeftNamespace = normalizeIdentifier(leftRef.getNamespace());
|
|
132
|
+
const normalizedRightNamespace = normalizeIdentifier(rightRef.getNamespace());
|
|
133
|
+
if (identifiers.has(normalizedLeftNamespace)) {
|
|
134
|
+
return normalizeIdentifier(leftRef.column.name);
|
|
135
|
+
}
|
|
136
|
+
if (identifiers.has(normalizedRightNamespace)) {
|
|
137
|
+
return normalizeIdentifier(rightRef.column.name);
|
|
138
|
+
}
|
|
139
|
+
return null;
|
|
140
|
+
};
|
|
141
|
+
const shouldRemoveJoin = (join, schemaMap, metadata) => {
|
|
142
|
+
if (!isLeftJoin(join) || join.lateral) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
if (!(join.source.datasource instanceof TableSource)) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
const candidates = [
|
|
149
|
+
normalizeIdentifier(join.source.datasource.getSourceName()),
|
|
150
|
+
normalizeIdentifier(join.source.datasource.table.name)
|
|
151
|
+
].filter(Boolean);
|
|
152
|
+
let tableInfo;
|
|
153
|
+
for (const candidate of candidates) {
|
|
154
|
+
const info = schemaMap.get(candidate);
|
|
155
|
+
if (info) {
|
|
156
|
+
tableInfo = info;
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (!tableInfo) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
const identifiers = new Set(getJoinIdentifiers(join));
|
|
164
|
+
if (identifiers.size === 0) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
if (hasExternalReferences([...identifiers], metadata, join)) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
const joinColumn = getJoinColumnInfo(join, identifiers);
|
|
171
|
+
if (!joinColumn) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
if (metadata.unqualifiedColumns.has(joinColumn)) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
if (tableInfo.columnSet.size > 0 && !tableInfo.columnSet.has(joinColumn)) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
const uniqueKey = normalizeColumnSetKey([joinColumn]);
|
|
181
|
+
if (!tableInfo.uniqueSetKeys.has(uniqueKey)) {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
return true;
|
|
185
|
+
};
|
|
186
|
+
const optimizeSimpleQuery = (query, schemaMap) => {
|
|
187
|
+
var _a, _b;
|
|
188
|
+
if (!((_b = (_a = query.fromClause) === null || _a === void 0 ? void 0 : _a.joins) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
const metadata = collectReferenceMetadata(query);
|
|
192
|
+
const retainedJoins = [];
|
|
193
|
+
let removed = false;
|
|
194
|
+
for (const join of query.fromClause.joins) {
|
|
195
|
+
if (shouldRemoveJoin(join, schemaMap, metadata)) {
|
|
196
|
+
removed = true;
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
retainedJoins.push(join);
|
|
200
|
+
}
|
|
201
|
+
query.fromClause.joins = retainedJoins.length > 0 ? retainedJoins : null;
|
|
202
|
+
return removed;
|
|
203
|
+
};
|
|
204
|
+
const traverseSelectQuery = (query, schemaMap) => {
|
|
205
|
+
if (query instanceof SimpleSelectQuery) {
|
|
206
|
+
return optimizeSimpleQuery(query, schemaMap);
|
|
207
|
+
}
|
|
208
|
+
if (query instanceof BinarySelectQuery) {
|
|
209
|
+
const leftChanged = traverseSelectQuery(query.left, schemaMap);
|
|
210
|
+
const rightChanged = traverseSelectQuery(query.right, schemaMap);
|
|
211
|
+
return leftChanged || rightChanged;
|
|
212
|
+
}
|
|
213
|
+
return false;
|
|
214
|
+
};
|
|
215
|
+
const optimizeUnusedLeftJoinsOnce = (query, schemaMap) => {
|
|
216
|
+
if (schemaMap.size === 0) {
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
return traverseSelectQuery(query, schemaMap);
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* Removes LEFT JOIN clauses from the provided query when AST references prove the join target is unused and schema metadata certifies the join column is unique.
|
|
223
|
+
*/
|
|
224
|
+
export const optimizeUnusedLeftJoins = (query, schemaInfo) => {
|
|
225
|
+
optimizeUnusedLeftJoinsOnce(query, buildSchemaMap(schemaInfo));
|
|
226
|
+
return query;
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* Applies the unused left join optimizer until no further joins can be trimmed, ensuring cascading removals stabilize.
|
|
230
|
+
*/
|
|
231
|
+
export const optimizeUnusedLeftJoinsToFixedPoint = (query, schemaInfo) => {
|
|
232
|
+
const schemaMap = buildSchemaMap(schemaInfo);
|
|
233
|
+
let changed = true;
|
|
234
|
+
while (changed) {
|
|
235
|
+
changed = optimizeUnusedLeftJoinsOnce(query, schemaMap);
|
|
236
|
+
}
|
|
237
|
+
return query;
|
|
238
|
+
};
|
|
239
|
+
const collectTableSourceNames = (component) => {
|
|
240
|
+
const collector = new CTETableReferenceCollector();
|
|
241
|
+
const names = new Set();
|
|
242
|
+
for (const source of collector.collect(component)) {
|
|
243
|
+
const normalizedName = normalizeIdentifier(source.table.name);
|
|
244
|
+
if (normalizedName) {
|
|
245
|
+
names.add(normalizedName);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return names;
|
|
249
|
+
};
|
|
250
|
+
const isReferencedByOthers = (cteName, mainReferences, cteReferenceMap) => {
|
|
251
|
+
if (mainReferences.has(cteName)) {
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
254
|
+
for (const [otherName, references] of cteReferenceMap) {
|
|
255
|
+
if (otherName === cteName) {
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
if (references.has(cteName)) {
|
|
259
|
+
return true;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return false;
|
|
263
|
+
};
|
|
264
|
+
const optimizeSimpleQueryCtes = (query) => {
|
|
265
|
+
const withClause = query.withClause;
|
|
266
|
+
if (!withClause || withClause.recursive || withClause.tables.length === 0) {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
const mainReferences = collectTableSourceNames(query);
|
|
270
|
+
const cteReferenceMap = new Map();
|
|
271
|
+
for (const table of withClause.tables) {
|
|
272
|
+
const normalizedName = normalizeIdentifier(table.aliasExpression.table.name);
|
|
273
|
+
if (!normalizedName) {
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
cteReferenceMap.set(normalizedName, collectTableSourceNames(table.query));
|
|
277
|
+
}
|
|
278
|
+
const removableNames = [];
|
|
279
|
+
for (const table of withClause.tables) {
|
|
280
|
+
const normalizedName = normalizeIdentifier(table.aliasExpression.table.name);
|
|
281
|
+
if (!normalizedName) {
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
const body = table.query;
|
|
285
|
+
if (!(body instanceof SimpleSelectQuery) && !(body instanceof BinarySelectQuery)) {
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
if (isReferencedByOthers(normalizedName, mainReferences, cteReferenceMap)) {
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
removableNames.push(normalizedName);
|
|
292
|
+
}
|
|
293
|
+
if (removableNames.length === 0) {
|
|
294
|
+
return false;
|
|
295
|
+
}
|
|
296
|
+
// Use the public removal API so the internal CTE cache stays consistent.
|
|
297
|
+
for (const name of removableNames) {
|
|
298
|
+
query.removeCTE(name);
|
|
299
|
+
}
|
|
300
|
+
return true;
|
|
301
|
+
};
|
|
302
|
+
const optimizeCtesInSelectQuery = (query) => {
|
|
303
|
+
if (query instanceof SimpleSelectQuery) {
|
|
304
|
+
return optimizeSimpleQueryCtes(query);
|
|
305
|
+
}
|
|
306
|
+
if (query instanceof BinarySelectQuery) {
|
|
307
|
+
const leftChanged = optimizeCtesInSelectQuery(query.left);
|
|
308
|
+
const rightChanged = optimizeCtesInSelectQuery(query.right);
|
|
309
|
+
return leftChanged || rightChanged;
|
|
310
|
+
}
|
|
311
|
+
return false;
|
|
312
|
+
};
|
|
313
|
+
const optimizeUnusedCtesOnce = (query) => {
|
|
314
|
+
return optimizeCtesInSelectQuery(query);
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* Removes unused SELECT-only CTEs from the query when AST references confirm they are never consumed.
|
|
318
|
+
*/
|
|
319
|
+
export const optimizeUnusedCtes = (query) => {
|
|
320
|
+
optimizeUnusedCtesOnce(query);
|
|
321
|
+
return query;
|
|
322
|
+
};
|
|
323
|
+
/**
|
|
324
|
+
* Repeatedly prunes unused CTEs until a fixed point is reached so chained removals complete deterministically.
|
|
325
|
+
*/
|
|
326
|
+
export const optimizeUnusedCtesToFixedPoint = (query) => {
|
|
327
|
+
let changed = true;
|
|
328
|
+
while (changed) {
|
|
329
|
+
changed = optimizeUnusedCtesOnce(query);
|
|
330
|
+
}
|
|
331
|
+
return query;
|
|
332
|
+
};
|
|
333
|
+
//# sourceMappingURL=OptimizeUnusedLeftJoins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptimizeUnusedLeftJoins.js","sourceRoot":"","sources":["../../../src/transformers/OptimizeUnusedLeftJoins.ts"],"names":[],"mappings":"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"}
|