rawsql-ts 0.11.37-beta → 0.11.39-beta
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/dist/esm/index.min.js +55 -51
- package/dist/esm/index.min.js.map +3 -3
- package/dist/esm/src/models/Lexeme.d.ts +8 -0
- package/dist/esm/src/models/SqlComponent.d.ts +20 -0
- package/dist/esm/src/models/SqlComponent.js +46 -0
- package/dist/esm/src/models/SqlComponent.js.map +1 -1
- package/dist/esm/src/parsers/CommandExpressionParser.d.ts +9 -0
- package/dist/esm/src/parsers/CommandExpressionParser.js +118 -14
- package/dist/esm/src/parsers/CommandExpressionParser.js.map +1 -1
- package/dist/esm/src/parsers/CommonTableParser.d.ts +8 -0
- package/dist/esm/src/parsers/CommonTableParser.js +127 -35
- package/dist/esm/src/parsers/CommonTableParser.js.map +1 -1
- package/dist/esm/src/parsers/FromClauseParser.js +2 -2
- package/dist/esm/src/parsers/FromClauseParser.js.map +1 -1
- package/dist/esm/src/parsers/FullNameParser.js +13 -1
- package/dist/esm/src/parsers/FullNameParser.js.map +1 -1
- package/dist/esm/src/parsers/FunctionExpressionParser.js +37 -3
- package/dist/esm/src/parsers/FunctionExpressionParser.js.map +1 -1
- package/dist/esm/src/parsers/JoinClauseParser.d.ts +4 -0
- package/dist/esm/src/parsers/JoinClauseParser.js +54 -20
- package/dist/esm/src/parsers/JoinClauseParser.js.map +1 -1
- package/dist/esm/src/parsers/OrderByClauseParser.js +39 -8
- package/dist/esm/src/parsers/OrderByClauseParser.js.map +1 -1
- package/dist/esm/src/parsers/ParenExpressionParser.js +1 -1
- package/dist/esm/src/parsers/ParenExpressionParser.js.map +1 -1
- package/dist/esm/src/parsers/SelectClauseParser.d.ts +10 -0
- package/dist/esm/src/parsers/SelectClauseParser.js +124 -12
- package/dist/esm/src/parsers/SelectClauseParser.js.map +1 -1
- package/dist/esm/src/parsers/SelectQueryParser.d.ts +12 -0
- package/dist/esm/src/parsers/SelectQueryParser.js +277 -115
- package/dist/esm/src/parsers/SelectQueryParser.js.map +1 -1
- package/dist/esm/src/parsers/SourceAliasExpressionParser.js +15 -4
- package/dist/esm/src/parsers/SourceAliasExpressionParser.js.map +1 -1
- package/dist/esm/src/parsers/SourceParser.js +33 -2
- package/dist/esm/src/parsers/SourceParser.js.map +1 -1
- package/dist/esm/src/parsers/SqlPrintTokenParser.d.ts +62 -0
- package/dist/esm/src/parsers/SqlPrintTokenParser.js +700 -32
- package/dist/esm/src/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/esm/src/parsers/SqlTokenizer.d.ts +1 -4
- package/dist/esm/src/parsers/SqlTokenizer.js +108 -52
- package/dist/esm/src/parsers/SqlTokenizer.js.map +1 -1
- package/dist/esm/src/parsers/ValueParser.d.ts +4 -0
- package/dist/esm/src/parsers/ValueParser.js +119 -20
- package/dist/esm/src/parsers/ValueParser.js.map +1 -1
- package/dist/esm/src/parsers/WithClauseParser.d.ts +4 -0
- package/dist/esm/src/parsers/WithClauseParser.js +64 -35
- package/dist/esm/src/parsers/WithClauseParser.js.map +1 -1
- package/dist/esm/src/tokenReaders/CommandTokenReader.js +9 -1
- package/dist/esm/src/tokenReaders/CommandTokenReader.js.map +1 -1
- package/dist/esm/src/tokenReaders/EscapedIdentifierTokenReader.js +5 -0
- package/dist/esm/src/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -1
- package/dist/esm/src/tokenReaders/OperatorTokenReader.js +12 -9
- package/dist/esm/src/tokenReaders/OperatorTokenReader.js.map +1 -1
- package/dist/esm/src/transformers/LinePrinter.d.ts +17 -2
- package/dist/esm/src/transformers/LinePrinter.js +39 -10
- package/dist/esm/src/transformers/LinePrinter.js.map +1 -1
- package/dist/esm/src/transformers/SqlFormatter.d.ts +10 -0
- package/dist/esm/src/transformers/SqlFormatter.js +1 -1
- package/dist/esm/src/transformers/SqlFormatter.js.map +1 -1
- package/dist/esm/src/transformers/SqlPrinter.d.ts +6 -1
- package/dist/esm/src/transformers/SqlPrinter.js +76 -31
- package/dist/esm/src/transformers/SqlPrinter.js.map +1 -1
- package/dist/esm/src/utils/CommentEditor.d.ts +12 -5
- package/dist/esm/src/utils/CommentEditor.js +67 -28
- package/dist/esm/src/utils/CommentEditor.js.map +1 -1
- package/dist/esm/src/utils/stringUtils.d.ts +1 -0
- package/dist/esm/src/utils/stringUtils.js +43 -26
- package/dist/esm/src/utils/stringUtils.js.map +1 -1
- package/dist/esm/tsconfig.browser.tsbuildinfo +1 -1
- package/dist/index.min.js +55 -51
- package/dist/index.min.js.map +3 -3
- package/dist/src/models/Lexeme.d.ts +8 -0
- package/dist/src/models/SqlComponent.d.ts +20 -0
- package/dist/src/models/SqlComponent.js +46 -0
- package/dist/src/models/SqlComponent.js.map +1 -1
- package/dist/src/parsers/CommandExpressionParser.d.ts +9 -0
- package/dist/src/parsers/CommandExpressionParser.js +118 -14
- package/dist/src/parsers/CommandExpressionParser.js.map +1 -1
- package/dist/src/parsers/CommonTableParser.d.ts +8 -0
- package/dist/src/parsers/CommonTableParser.js +127 -35
- package/dist/src/parsers/CommonTableParser.js.map +1 -1
- package/dist/src/parsers/FromClauseParser.js +2 -2
- package/dist/src/parsers/FromClauseParser.js.map +1 -1
- package/dist/src/parsers/FullNameParser.js +13 -1
- package/dist/src/parsers/FullNameParser.js.map +1 -1
- package/dist/src/parsers/FunctionExpressionParser.js +37 -3
- package/dist/src/parsers/FunctionExpressionParser.js.map +1 -1
- package/dist/src/parsers/JoinClauseParser.d.ts +4 -0
- package/dist/src/parsers/JoinClauseParser.js +54 -20
- package/dist/src/parsers/JoinClauseParser.js.map +1 -1
- package/dist/src/parsers/OrderByClauseParser.js +39 -8
- package/dist/src/parsers/OrderByClauseParser.js.map +1 -1
- package/dist/src/parsers/ParenExpressionParser.js +1 -1
- package/dist/src/parsers/ParenExpressionParser.js.map +1 -1
- package/dist/src/parsers/SelectClauseParser.d.ts +10 -0
- package/dist/src/parsers/SelectClauseParser.js +124 -12
- package/dist/src/parsers/SelectClauseParser.js.map +1 -1
- package/dist/src/parsers/SelectQueryParser.d.ts +12 -0
- package/dist/src/parsers/SelectQueryParser.js +280 -115
- package/dist/src/parsers/SelectQueryParser.js.map +1 -1
- package/dist/src/parsers/SourceAliasExpressionParser.js +15 -4
- package/dist/src/parsers/SourceAliasExpressionParser.js.map +1 -1
- package/dist/src/parsers/SourceParser.js +33 -2
- package/dist/src/parsers/SourceParser.js.map +1 -1
- package/dist/src/parsers/SqlPrintTokenParser.d.ts +62 -0
- package/dist/src/parsers/SqlPrintTokenParser.js +700 -32
- package/dist/src/parsers/SqlPrintTokenParser.js.map +1 -1
- package/dist/src/parsers/SqlTokenizer.d.ts +1 -4
- package/dist/src/parsers/SqlTokenizer.js +108 -52
- package/dist/src/parsers/SqlTokenizer.js.map +1 -1
- package/dist/src/parsers/ValueParser.d.ts +4 -0
- package/dist/src/parsers/ValueParser.js +119 -20
- package/dist/src/parsers/ValueParser.js.map +1 -1
- package/dist/src/parsers/WithClauseParser.d.ts +4 -0
- package/dist/src/parsers/WithClauseParser.js +64 -35
- package/dist/src/parsers/WithClauseParser.js.map +1 -1
- package/dist/src/tokenReaders/CommandTokenReader.js +9 -1
- package/dist/src/tokenReaders/CommandTokenReader.js.map +1 -1
- package/dist/src/tokenReaders/EscapedIdentifierTokenReader.js +5 -0
- package/dist/src/tokenReaders/EscapedIdentifierTokenReader.js.map +1 -1
- package/dist/src/tokenReaders/OperatorTokenReader.js +12 -9
- package/dist/src/tokenReaders/OperatorTokenReader.js.map +1 -1
- package/dist/src/transformers/LinePrinter.d.ts +17 -2
- package/dist/src/transformers/LinePrinter.js +39 -10
- package/dist/src/transformers/LinePrinter.js.map +1 -1
- package/dist/src/transformers/SqlFormatter.d.ts +10 -0
- package/dist/src/transformers/SqlFormatter.js +4 -1
- package/dist/src/transformers/SqlFormatter.js.map +1 -1
- package/dist/src/transformers/SqlPrinter.d.ts +6 -1
- package/dist/src/transformers/SqlPrinter.js +76 -31
- package/dist/src/transformers/SqlPrinter.js.map +1 -1
- package/dist/src/utils/CommentEditor.d.ts +12 -5
- package/dist/src/utils/CommentEditor.js +67 -28
- package/dist/src/utils/CommentEditor.js.map +1 -1
- package/dist/src/utils/stringUtils.d.ts +1 -0
- package/dist/src/utils/stringUtils.js +43 -26
- package/dist/src/utils/stringUtils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectClauseParser.js","sourceRoot":"","sources":["../../../src/parsers/SelectClauseParser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SelectClauseParser.js","sourceRoot":"","sources":["../../../src/parsers/SelectClauseParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,11 +37,23 @@ export declare class SelectQueryParser {
|
|
|
37
37
|
* @param target Target query to receive headerComments
|
|
38
38
|
*/
|
|
39
39
|
private static transferHeaderComments;
|
|
40
|
+
private static extractUnionTokenComments;
|
|
40
41
|
static parseFromLexeme(lexemes: Lexeme[], index: number): {
|
|
41
42
|
value: SelectQuery;
|
|
42
43
|
newIndex: number;
|
|
43
44
|
};
|
|
44
45
|
private static parseSimpleSelectQuery;
|
|
46
|
+
private static parseWithClauseAndComments;
|
|
47
|
+
private static parseAllClauses;
|
|
48
|
+
private static parseOptionalClause;
|
|
49
|
+
private static collectHeaderComments;
|
|
50
|
+
private static collectWithTokenHeaderComments;
|
|
51
|
+
private static collectMainSelectPrefixComments;
|
|
52
|
+
private static collectBetweenClauseComments;
|
|
53
|
+
private static findMainSelectIndex;
|
|
54
|
+
private static findMainSelectToken;
|
|
55
|
+
private static collectSelectTokenComments;
|
|
56
|
+
private static applyCommentsToQuery;
|
|
45
57
|
private static parseValuesQuery;
|
|
46
58
|
/**
|
|
47
59
|
* Get the CTE name at the specified cursor position.
|
|
@@ -129,6 +129,22 @@ class SelectQueryParser {
|
|
|
129
129
|
source.headerComments = null;
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
+
static extractUnionTokenComments(unionLexeme) {
|
|
133
|
+
const comments = [];
|
|
134
|
+
if (unionLexeme.positionedComments && unionLexeme.positionedComments.length > 0) {
|
|
135
|
+
for (const posComment of unionLexeme.positionedComments) {
|
|
136
|
+
if (posComment.comments && posComment.comments.length > 0) {
|
|
137
|
+
comments.push(...posComment.comments);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
unionLexeme.positionedComments = undefined;
|
|
141
|
+
}
|
|
142
|
+
if (unionLexeme.comments && unionLexeme.comments.length > 0) {
|
|
143
|
+
comments.push(...unionLexeme.comments);
|
|
144
|
+
unionLexeme.comments = null;
|
|
145
|
+
}
|
|
146
|
+
return comments.length > 0 ? comments : null;
|
|
147
|
+
}
|
|
132
148
|
// Parse from lexeme array (was: parse)
|
|
133
149
|
static parseFromLexeme(lexemes, index) {
|
|
134
150
|
let idx = index;
|
|
@@ -149,7 +165,7 @@ class SelectQueryParser {
|
|
|
149
165
|
while (idx < lexemes.length && this.unionCommandSet.has(lexemes[idx].value.toLowerCase())) {
|
|
150
166
|
const operatorLexeme = lexemes[idx];
|
|
151
167
|
const operator = operatorLexeme.value.toLowerCase();
|
|
152
|
-
const unionComments = operatorLexeme
|
|
168
|
+
const unionComments = this.extractUnionTokenComments(operatorLexeme);
|
|
153
169
|
idx++;
|
|
154
170
|
if (idx >= lexemes.length) {
|
|
155
171
|
throw new Error(`Syntax error at position ${idx}: Expected a query after '${operator.toUpperCase()}' but found end of input.`);
|
|
@@ -160,14 +176,14 @@ class SelectQueryParser {
|
|
|
160
176
|
const binaryQuery = new SelectQuery_1.BinarySelectQuery(query, operator, result.value);
|
|
161
177
|
// Transfer headerComments from the first query to the BinarySelectQuery
|
|
162
178
|
this.transferHeaderComments(query, binaryQuery);
|
|
163
|
-
// Assign UNION comments to right query (
|
|
179
|
+
// Assign UNION comments to right query as headerComments (semantic positioning)
|
|
164
180
|
if (unionComments && unionComments.length > 0) {
|
|
165
|
-
if (result.value.
|
|
166
|
-
// Prepend UNION comments to existing
|
|
167
|
-
result.value.
|
|
181
|
+
if (result.value.headerComments) {
|
|
182
|
+
// Prepend UNION comments to existing headerComments
|
|
183
|
+
result.value.headerComments = [...unionComments, ...result.value.headerComments];
|
|
168
184
|
}
|
|
169
185
|
else {
|
|
170
|
-
result.value.
|
|
186
|
+
result.value.headerComments = unionComments;
|
|
171
187
|
}
|
|
172
188
|
}
|
|
173
189
|
query = binaryQuery;
|
|
@@ -178,13 +194,13 @@ class SelectQueryParser {
|
|
|
178
194
|
const binaryQuery = new SelectQuery_1.BinarySelectQuery(query, operator, result.value);
|
|
179
195
|
// Transfer headerComments from the first query to the BinarySelectQuery
|
|
180
196
|
this.transferHeaderComments(query, binaryQuery);
|
|
181
|
-
// Assign UNION comments to the right side query
|
|
197
|
+
// Assign UNION comments to the right side query as headerComments (semantic positioning)
|
|
182
198
|
if (unionComments && unionComments.length > 0) {
|
|
183
|
-
if (result.value.
|
|
184
|
-
result.value.
|
|
199
|
+
if (result.value.headerComments) {
|
|
200
|
+
result.value.headerComments = [...unionComments, ...result.value.headerComments];
|
|
185
201
|
}
|
|
186
202
|
else {
|
|
187
|
-
result.value.
|
|
203
|
+
result.value.headerComments = unionComments;
|
|
188
204
|
}
|
|
189
205
|
}
|
|
190
206
|
query = binaryQuery;
|
|
@@ -197,129 +213,278 @@ class SelectQueryParser {
|
|
|
197
213
|
return { value: query, newIndex: idx };
|
|
198
214
|
}
|
|
199
215
|
static parseSimpleSelectQuery(lexemes, index) {
|
|
216
|
+
var _a, _b;
|
|
200
217
|
let idx = index;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
//
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
218
|
+
// 1. Parse optional WITH clause and collect header comments
|
|
219
|
+
const { withClauseResult, newIndex: withEndIndex, selectQuery: queryTemplate } = this.parseWithClauseAndComments(lexemes, idx);
|
|
220
|
+
idx = withEndIndex;
|
|
221
|
+
// 2. Parse all SQL clauses sequentially
|
|
222
|
+
const { clauses, newIndex: clausesEndIndex, selectTokenComments } = this.parseAllClauses(lexemes, idx, withClauseResult);
|
|
223
|
+
idx = clausesEndIndex;
|
|
224
|
+
// Merge SELECT token comments based on presence of WITH clause
|
|
225
|
+
if (selectTokenComments && selectTokenComments.length > 0) {
|
|
226
|
+
if (withClauseResult) {
|
|
227
|
+
const existingBetween = (_a = queryTemplate.betweenClauseComments) !== null && _a !== void 0 ? _a : [];
|
|
228
|
+
const merged = [...existingBetween];
|
|
229
|
+
for (const comment of selectTokenComments) {
|
|
230
|
+
if (!merged.includes(comment)) {
|
|
231
|
+
merged.push(comment);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
queryTemplate.betweenClauseComments = merged;
|
|
235
|
+
queryTemplate.mainSelectPrefixComments = undefined;
|
|
212
236
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
// Collect comments that appear between WITH clause end and SELECT keyword
|
|
221
|
-
// These should be applied to query level (appearing between WITH and SELECT)
|
|
222
|
-
const queryLevelComments = [...withTrailingComments];
|
|
223
|
-
let tempIdx = idx;
|
|
224
|
-
while (tempIdx < lexemes.length && lexemes[tempIdx].value.toLowerCase() !== 'select') {
|
|
225
|
-
const tokenComments = lexemes[tempIdx].comments;
|
|
226
|
-
if (tokenComments && tokenComments.length > 0) {
|
|
227
|
-
queryLevelComments.push(...tokenComments);
|
|
237
|
+
else {
|
|
238
|
+
const existingHeader = (_b = queryTemplate.headerComments) !== null && _b !== void 0 ? _b : [];
|
|
239
|
+
queryTemplate.headerComments = [
|
|
240
|
+
...existingHeader,
|
|
241
|
+
...selectTokenComments
|
|
242
|
+
];
|
|
228
243
|
}
|
|
229
|
-
tempIdx++;
|
|
230
244
|
}
|
|
231
|
-
//
|
|
232
|
-
|
|
233
|
-
|
|
245
|
+
// 3. Create final query with parsed clauses
|
|
246
|
+
const selectQuery = new SelectQuery_1.SimpleSelectQuery({
|
|
247
|
+
withClause: withClauseResult ? withClauseResult.value : null,
|
|
248
|
+
...clauses
|
|
249
|
+
});
|
|
250
|
+
// 4. Apply collected comments directly to the query
|
|
251
|
+
this.applyCommentsToQuery(selectQuery, queryTemplate, withClauseResult);
|
|
252
|
+
return { value: selectQuery, newIndex: idx };
|
|
253
|
+
}
|
|
254
|
+
// Parse WITH clause and collect header comments
|
|
255
|
+
static parseWithClauseAndComments(lexemes, index) {
|
|
256
|
+
let idx = index;
|
|
257
|
+
let withClauseResult = null;
|
|
258
|
+
const queryTemplate = {};
|
|
259
|
+
// Collect header comments before WITH or SELECT
|
|
260
|
+
queryTemplate.headerComments = this.collectHeaderComments(lexemes, idx);
|
|
261
|
+
// Skip to WITH or SELECT token
|
|
262
|
+
while (idx < lexemes.length &&
|
|
263
|
+
lexemes[idx].value.toLowerCase() !== 'with' &&
|
|
264
|
+
lexemes[idx].value.toLowerCase() !== 'select') {
|
|
265
|
+
idx++;
|
|
266
|
+
}
|
|
267
|
+
// Collect 'before' comments from WITH token
|
|
268
|
+
if (idx < lexemes.length && lexemes[idx].value.toLowerCase() === 'with') {
|
|
269
|
+
this.collectWithTokenHeaderComments(lexemes[idx], queryTemplate);
|
|
234
270
|
}
|
|
235
|
-
//
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
//
|
|
240
|
-
|
|
271
|
+
// Parse WITH clause if present
|
|
272
|
+
if (idx < lexemes.length && lexemes[idx].value === 'with') {
|
|
273
|
+
withClauseResult = WithClauseParser_1.WithClauseParser.parseFromLexeme(lexemes, idx);
|
|
274
|
+
idx = withClauseResult.newIndex;
|
|
275
|
+
// Collect comments between WITH clause and SELECT
|
|
276
|
+
queryTemplate.mainSelectPrefixComments = this.collectMainSelectPrefixComments(lexemes, withClauseResult, idx);
|
|
277
|
+
queryTemplate.betweenClauseComments = this.collectBetweenClauseComments(lexemes, withClauseResult, idx);
|
|
241
278
|
}
|
|
279
|
+
return { withClauseResult, newIndex: idx, selectQuery: queryTemplate };
|
|
280
|
+
}
|
|
281
|
+
// Parse all SQL clauses (SELECT, FROM, WHERE, etc.)
|
|
282
|
+
static parseAllClauses(lexemes, index, withClauseResult) {
|
|
283
|
+
let idx = index;
|
|
284
|
+
// Find and parse SELECT clause
|
|
285
|
+
idx = this.findMainSelectToken(lexemes, idx, withClauseResult);
|
|
286
|
+
const selectTokenComments = this.collectSelectTokenComments(lexemes, idx);
|
|
242
287
|
const selectClauseResult = SelectClauseParser_1.SelectClauseParser.parseFromLexeme(lexemes, idx);
|
|
243
288
|
idx = selectClauseResult.newIndex;
|
|
244
|
-
// Parse
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
289
|
+
// Parse optional clauses
|
|
290
|
+
const fromClauseResult = this.parseOptionalClause(lexemes, idx, 'from', FromClauseParser_1.FromClauseParser);
|
|
291
|
+
idx = fromClauseResult.newIndex;
|
|
292
|
+
const whereClauseResult = this.parseOptionalClause(lexemes, fromClauseResult.newIndex, 'where', WhereClauseParser_1.WhereClauseParser);
|
|
293
|
+
idx = whereClauseResult.newIndex;
|
|
294
|
+
const groupByClauseResult = this.parseOptionalClause(lexemes, whereClauseResult.newIndex, 'group by', GroupByParser_1.GroupByClauseParser);
|
|
295
|
+
idx = groupByClauseResult.newIndex;
|
|
296
|
+
const havingClauseResult = this.parseOptionalClause(lexemes, groupByClauseResult.newIndex, 'having', HavingParser_1.HavingClauseParser);
|
|
297
|
+
idx = havingClauseResult.newIndex;
|
|
298
|
+
const windowClauseResult = this.parseOptionalClause(lexemes, havingClauseResult.newIndex, 'window', WindowClauseParser_1.WindowClauseParser);
|
|
299
|
+
idx = windowClauseResult.newIndex;
|
|
300
|
+
const orderByClauseResult = this.parseOptionalClause(lexemes, windowClauseResult.newIndex, 'order by', OrderByClauseParser_1.OrderByClauseParser);
|
|
301
|
+
idx = orderByClauseResult.newIndex;
|
|
302
|
+
const limitClauseResult = this.parseOptionalClause(lexemes, orderByClauseResult.newIndex, 'limit', LimitClauseParser_1.LimitClauseParser);
|
|
303
|
+
idx = limitClauseResult.newIndex;
|
|
304
|
+
const offsetClauseResult = this.parseOptionalClause(lexemes, limitClauseResult.newIndex, 'offset', OffsetClauseParser_1.OffsetClauseParser);
|
|
305
|
+
idx = offsetClauseResult.newIndex;
|
|
306
|
+
const fetchClauseResult = this.parseOptionalClause(lexemes, offsetClauseResult.newIndex, 'fetch', FetchClauseParser_1.FetchClauseParser);
|
|
307
|
+
idx = fetchClauseResult.newIndex;
|
|
308
|
+
const forClauseResult = this.parseOptionalClause(lexemes, fetchClauseResult.newIndex, 'for', ForClauseParser_1.ForClauseParser);
|
|
309
|
+
idx = forClauseResult.newIndex;
|
|
310
|
+
const clauses = {
|
|
311
|
+
selectClause: selectClauseResult.value,
|
|
312
|
+
fromClause: fromClauseResult.value,
|
|
313
|
+
whereClause: whereClauseResult.value,
|
|
314
|
+
groupByClause: groupByClauseResult.value,
|
|
315
|
+
havingClause: havingClauseResult.value,
|
|
316
|
+
orderByClause: orderByClauseResult.value,
|
|
317
|
+
windowClause: windowClauseResult.value,
|
|
318
|
+
limitClause: limitClauseResult.value,
|
|
319
|
+
offsetClause: offsetClauseResult.value,
|
|
320
|
+
fetchClause: fetchClauseResult.value,
|
|
321
|
+
forClause: forClauseResult.value
|
|
322
|
+
};
|
|
323
|
+
return { clauses, newIndex: idx, selectTokenComments };
|
|
324
|
+
}
|
|
325
|
+
// Helper to parse optional clauses
|
|
326
|
+
static parseOptionalClause(lexemes, index, keyword, parser) {
|
|
327
|
+
if (index < lexemes.length && lexemes[index].value.toLowerCase() === keyword) {
|
|
328
|
+
return parser.parseFromLexeme(lexemes, index);
|
|
329
|
+
}
|
|
330
|
+
return { value: null, newIndex: index };
|
|
331
|
+
}
|
|
332
|
+
// Collect header comments before meaningful tokens
|
|
333
|
+
static collectHeaderComments(lexemes, startIndex) {
|
|
334
|
+
const headerComments = [];
|
|
335
|
+
let idx = startIndex;
|
|
336
|
+
while (idx < lexemes.length &&
|
|
337
|
+
lexemes[idx].value.toLowerCase() !== 'with' &&
|
|
338
|
+
lexemes[idx].value.toLowerCase() !== 'select') {
|
|
339
|
+
const token = lexemes[idx];
|
|
340
|
+
if (token.positionedComments) {
|
|
341
|
+
for (const posComment of token.positionedComments) {
|
|
342
|
+
if (posComment.comments) {
|
|
343
|
+
headerComments.push(...posComment.comments);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
if (token.comments && token.comments.length > 0) {
|
|
348
|
+
headerComments.push(...token.comments);
|
|
349
|
+
}
|
|
350
|
+
idx++;
|
|
249
351
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
352
|
+
return headerComments;
|
|
353
|
+
}
|
|
354
|
+
// Collect 'before' positioned comments from WITH token
|
|
355
|
+
static collectWithTokenHeaderComments(withToken, queryTemplate) {
|
|
356
|
+
if (!withToken.positionedComments)
|
|
357
|
+
return;
|
|
358
|
+
if (!queryTemplate.headerComments)
|
|
359
|
+
queryTemplate.headerComments = [];
|
|
360
|
+
const remainingPositioned = [];
|
|
361
|
+
for (const posComment of withToken.positionedComments) {
|
|
362
|
+
if (posComment.position === 'before' && posComment.comments) {
|
|
363
|
+
queryTemplate.headerComments.push(...posComment.comments);
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
remainingPositioned.push(posComment);
|
|
367
|
+
}
|
|
255
368
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
369
|
+
withToken.positionedComments = remainingPositioned.length > 0 ? remainingPositioned : undefined;
|
|
370
|
+
}
|
|
371
|
+
// Collect comments between WITH clause and main SELECT
|
|
372
|
+
static collectMainSelectPrefixComments(lexemes, withClauseResult, currentIndex) {
|
|
373
|
+
const mainSelectPrefixComments = [];
|
|
374
|
+
// Get trailing comments from WITH clause
|
|
375
|
+
if (withClauseResult === null || withClauseResult === void 0 ? void 0 : withClauseResult.value.trailingComments) {
|
|
376
|
+
mainSelectPrefixComments.push(...withClauseResult.value.trailingComments);
|
|
261
377
|
}
|
|
262
|
-
//
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
378
|
+
// Find main SELECT token
|
|
379
|
+
const mainSelectIdx = this.findMainSelectIndex(lexemes, withClauseResult, currentIndex);
|
|
380
|
+
// Scan tokens between WITH end and main SELECT
|
|
381
|
+
if (withClauseResult && mainSelectIdx > withClauseResult.newIndex) {
|
|
382
|
+
for (let tempIdx = withClauseResult.newIndex; tempIdx < mainSelectIdx; tempIdx++) {
|
|
383
|
+
const token = lexemes[tempIdx];
|
|
384
|
+
if (token.positionedComments) {
|
|
385
|
+
for (const posComment of token.positionedComments) {
|
|
386
|
+
if (posComment.comments) {
|
|
387
|
+
mainSelectPrefixComments.push(...posComment.comments);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
if (token.comments && token.comments.length > 0) {
|
|
392
|
+
mainSelectPrefixComments.push(...token.comments);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
267
395
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
396
|
+
return mainSelectPrefixComments;
|
|
397
|
+
}
|
|
398
|
+
// Collect comments between clauses
|
|
399
|
+
static collectBetweenClauseComments(lexemes, withClauseResult, currentIndex) {
|
|
400
|
+
if (!withClauseResult)
|
|
401
|
+
return [];
|
|
402
|
+
const betweenClauseComments = [];
|
|
403
|
+
const withEndIndex = withClauseResult.newIndex;
|
|
404
|
+
const scanStartIndex = Math.max(0, withEndIndex - 1);
|
|
405
|
+
for (let i = scanStartIndex; i < currentIndex; i++) {
|
|
406
|
+
const token = lexemes[i];
|
|
407
|
+
if (token.positionedComments && token.positionedComments.length > 0) {
|
|
408
|
+
for (const posComment of token.positionedComments) {
|
|
409
|
+
if (posComment.comments) {
|
|
410
|
+
betweenClauseComments.push(...posComment.comments);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
token.positionedComments = undefined;
|
|
414
|
+
}
|
|
415
|
+
if (token.comments && token.comments.length > 0) {
|
|
416
|
+
betweenClauseComments.push(...token.comments);
|
|
417
|
+
token.comments = null;
|
|
418
|
+
}
|
|
273
419
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
420
|
+
return betweenClauseComments;
|
|
421
|
+
}
|
|
422
|
+
// Find main SELECT token index
|
|
423
|
+
static findMainSelectIndex(lexemes, withClauseResult, fallbackIndex) {
|
|
424
|
+
if (withClauseResult) {
|
|
425
|
+
for (let i = withClauseResult.newIndex; i < lexemes.length; i++) {
|
|
426
|
+
if (lexemes[i].value.toLowerCase() === 'select') {
|
|
427
|
+
return i;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
279
430
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
431
|
+
return fallbackIndex;
|
|
432
|
+
}
|
|
433
|
+
// Find and validate main SELECT token
|
|
434
|
+
static findMainSelectToken(lexemes, index, withClauseResult) {
|
|
435
|
+
const mainSelectIdx = this.findMainSelectIndex(lexemes, withClauseResult, index);
|
|
436
|
+
if (mainSelectIdx >= lexemes.length || lexemes[mainSelectIdx].value !== 'select') {
|
|
437
|
+
throw new Error(`Syntax error at position ${mainSelectIdx}: Expected 'SELECT' keyword but found "${mainSelectIdx < lexemes.length ? lexemes[mainSelectIdx].value : 'end of input'}". SELECT queries must start with the SELECT keyword.`);
|
|
285
438
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
439
|
+
return mainSelectIdx;
|
|
440
|
+
}
|
|
441
|
+
// Collect and clear comments from SELECT token
|
|
442
|
+
static collectSelectTokenComments(lexemes, selectIndex) {
|
|
443
|
+
const selectToken = lexemes[selectIndex];
|
|
444
|
+
const selectComments = [];
|
|
445
|
+
if (selectToken.comments && selectToken.comments.length > 0) {
|
|
446
|
+
selectComments.push(...selectToken.comments);
|
|
447
|
+
selectToken.comments = null;
|
|
291
448
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
449
|
+
if (selectToken.positionedComments && selectToken.positionedComments.length > 0) {
|
|
450
|
+
for (const posComment of selectToken.positionedComments) {
|
|
451
|
+
if (posComment.position === 'before' && posComment.comments) {
|
|
452
|
+
selectComments.push(...posComment.comments);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
selectToken.positionedComments = undefined;
|
|
297
456
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
457
|
+
return selectComments;
|
|
458
|
+
}
|
|
459
|
+
// Apply all collected comments directly to the query
|
|
460
|
+
static applyCommentsToQuery(selectQuery, queryTemplate, withClauseResult) {
|
|
461
|
+
var _a;
|
|
462
|
+
// Apply header comments directly
|
|
463
|
+
if (((_a = queryTemplate.headerComments) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
464
|
+
selectQuery.headerComments = queryTemplate.headerComments;
|
|
303
465
|
}
|
|
304
|
-
//
|
|
305
|
-
const
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
466
|
+
// Merge helper to avoid duplicate between-clause comments
|
|
467
|
+
const mergeBetweenComments = (source) => {
|
|
468
|
+
var _a;
|
|
469
|
+
if (!source || source.length === 0) {
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
472
|
+
const existing = (_a = selectQuery.comments) !== null && _a !== void 0 ? _a : [];
|
|
473
|
+
const merged = [];
|
|
474
|
+
for (const comment of source) {
|
|
475
|
+
if (!merged.includes(comment)) {
|
|
476
|
+
merged.push(comment);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
for (const comment of existing) {
|
|
480
|
+
if (!merged.includes(comment)) {
|
|
481
|
+
merged.push(comment);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
selectQuery.comments = merged;
|
|
485
|
+
};
|
|
486
|
+
mergeBetweenComments(queryTemplate.mainSelectPrefixComments);
|
|
487
|
+
mergeBetweenComments(queryTemplate.betweenClauseComments);
|
|
323
488
|
}
|
|
324
489
|
static parseValuesQuery(lexemes, index) {
|
|
325
490
|
// Use ValuesQueryParser to parse VALUES clause
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectQueryParser.js","sourceRoot":"","sources":["../../../src/parsers/SelectQueryParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectQueryParser.js","sourceRoot":"","sources":["../../../src/parsers/SelectQueryParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,9 @@ class SourceAliasExpressionParser {
|
|
|
10
10
|
let idx = index;
|
|
11
11
|
// If there is a column alias, it may be detected as a function, so functions are also processed.
|
|
12
12
|
if (idx < lexemes.length && ((lexemes[idx].type & Lexeme_1.TokenType.Identifier) || (lexemes[idx].type & Lexeme_1.TokenType.Function))) {
|
|
13
|
-
// Check for alias
|
|
14
|
-
const
|
|
13
|
+
// Check for alias and capture comments from the alias token
|
|
14
|
+
const aliasToken = lexemes[idx];
|
|
15
|
+
const table = aliasToken.value;
|
|
15
16
|
idx++;
|
|
16
17
|
if (idx < lexemes.length && (lexemes[idx].type & Lexeme_1.TokenType.OpenParen)) {
|
|
17
18
|
// Check for column alias
|
|
@@ -38,9 +39,19 @@ class SourceAliasExpressionParser {
|
|
|
38
39
|
if (columns.length === 0) {
|
|
39
40
|
throw new Error(`Syntax error at position ${index}: No column aliases found. Column alias declarations must contain at least one column name.`);
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
+
const sourceAlias = new Clause_1.SourceAliasExpression(table, columns);
|
|
43
|
+
// Transfer positioned comments from the alias token
|
|
44
|
+
if (aliasToken.positionedComments && aliasToken.positionedComments.length > 0) {
|
|
45
|
+
sourceAlias.positionedComments = aliasToken.positionedComments;
|
|
46
|
+
}
|
|
47
|
+
return { value: sourceAlias, newIndex: idx };
|
|
48
|
+
}
|
|
49
|
+
const sourceAlias = new Clause_1.SourceAliasExpression(table, null);
|
|
50
|
+
// Transfer positioned comments from the alias token
|
|
51
|
+
if (aliasToken.positionedComments && aliasToken.positionedComments.length > 0) {
|
|
52
|
+
sourceAlias.positionedComments = aliasToken.positionedComments;
|
|
42
53
|
}
|
|
43
|
-
return { value:
|
|
54
|
+
return { value: sourceAlias, newIndex: idx };
|
|
44
55
|
}
|
|
45
56
|
throw new Error(`Syntax error at position ${index}: Expected an identifier for table alias but found "${((_a = lexemes[index]) === null || _a === void 0 ? void 0 : _a.value) || 'end of input'}".`);
|
|
46
57
|
}
|