typesql-cli 0.5.18 → 0.6.2
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/code-generator.d.ts +3 -0
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +88 -12
- package/code-generator.js.map +1 -1
- package/describe-nested-query.d.ts +29 -0
- package/describe-nested-query.d.ts.map +1 -0
- package/describe-nested-query.js +154 -0
- package/describe-nested-query.js.map +1 -0
- package/describe-query.d.ts +2 -1
- package/describe-query.d.ts.map +1 -1
- package/describe-query.js +20 -21
- package/describe-query.js.map +1 -1
- package/mysql-mapping.d.ts +1 -1
- package/mysql-mapping.d.ts.map +1 -1
- package/mysql-mapping.js +1 -1
- package/mysql-mapping.js.map +1 -1
- package/mysql-query-analyzer/collect-constraints.d.ts +24 -50
- package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
- package/mysql-query-analyzer/collect-constraints.js +52 -1757
- package/mysql-query-analyzer/collect-constraints.js.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.d.ts +3 -3
- package/mysql-query-analyzer/infer-column-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.js +14 -26
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts +3 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.js +21 -3
- package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts +10 -10
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +133 -181
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/mysql-query-analyzer/select-columns.d.ts +9 -9
- package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
- package/mysql-query-analyzer/select-columns.js +32 -226
- package/mysql-query-analyzer/select-columns.js.map +1 -1
- package/mysql-query-analyzer/traverse.d.ts +45 -0
- package/mysql-query-analyzer/traverse.d.ts.map +1 -0
- package/mysql-query-analyzer/traverse.js +1613 -0
- package/mysql-query-analyzer/traverse.js.map +1 -0
- package/mysql-query-analyzer/types.d.ts +39 -5
- package/mysql-query-analyzer/types.d.ts.map +1 -1
- package/mysql-query-analyzer/unify.d.ts +4 -3
- package/mysql-query-analyzer/unify.d.ts.map +1 -1
- package/mysql-query-analyzer/unify.js +542 -51
- package/mysql-query-analyzer/unify.js.map +1 -1
- package/mysql-query-analyzer/verify-multiple-result.js +1 -1
- package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
- package/package.json +2 -2
- package/ts-nested-descriptor.d.ts +26 -0
- package/ts-nested-descriptor.d.ts.map +1 -0
- package/ts-nested-descriptor.js +73 -0
- package/ts-nested-descriptor.js.map +1 -0
- package/types.d.ts +12 -8
- package/types.d.ts.map +1 -1
@@ -23,15 +23,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
23
|
return result;
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
exports.getQuerySpecificationsFromSelectStatement = exports.
|
26
|
+
exports.getQuerySpecificationsFromSelectStatement = exports.getAllQuerySpecificationsFromSelectStatement = exports.extractQueryInfo = exports.getLimitOptions = exports.isSumExpressContext = exports.isMultipleRowResult = exports.extractLimitParameters = exports.extractOrderByParameters = exports.parseAndInferParamNullability = exports.parseAndInfer = exports.parse = void 0;
|
27
27
|
const ts_mysql_parser_1 = __importStar(require("ts-mysql-parser"));
|
28
28
|
const tree_1 = require("antlr4ts/tree");
|
29
29
|
const collect_constraints_1 = require("./collect-constraints");
|
30
|
-
const select_columns_1 = require("./select-columns");
|
31
30
|
const infer_param_nullability_1 = require("./infer-param-nullability");
|
32
|
-
const infer_column_nullability_1 = require("./infer-column-nullability");
|
33
31
|
const describe_query_1 = require("../describe-query");
|
34
32
|
const verify_multiple_result_1 = require("./verify-multiple-result");
|
33
|
+
const unify_1 = require("./unify");
|
34
|
+
const traverse_1 = require("./traverse");
|
35
|
+
const describe_nested_query_1 = require("../describe-nested-query");
|
35
36
|
const parser = new ts_mysql_parser_1.default({
|
36
37
|
version: '8.0.17',
|
37
38
|
mode: ts_mysql_parser_1.SqlMode.NoMode
|
@@ -44,26 +45,28 @@ function parse(sql) {
|
|
44
45
|
return parseResult.tree;
|
45
46
|
}
|
46
47
|
exports.parse = parse;
|
47
|
-
function infer(queryContext, dbSchema, withSchema, namedParameters) {
|
48
|
-
const context = {
|
49
|
-
dbSchema,
|
50
|
-
withSchema,
|
51
|
-
constraints: [],
|
52
|
-
parameters: [],
|
53
|
-
fromColumns: []
|
54
|
-
};
|
55
|
-
const typeInferenceResult = (0, collect_constraints_1.analiseTree)(queryContext, context, namedParameters);
|
56
|
-
// const newTypeInference : TypeInferenceResult = {
|
57
|
-
// columns: typeInferenceResult.columns.map( col => verifyNotInferred(col)),
|
58
|
-
// parameters: typeInferenceResult.parameters.map(paramType => verifyNotInferred(paramType))
|
59
|
-
// }
|
60
|
-
return typeInferenceResult;
|
61
|
-
}
|
62
|
-
exports.infer = infer;
|
63
48
|
//TODO - withSchema DEFAULT VALUE []
|
64
|
-
function parseAndInfer(sql, dbSchema
|
65
|
-
const
|
66
|
-
|
49
|
+
function parseAndInfer(sql, dbSchema) {
|
50
|
+
const result = extractQueryInfo(sql, dbSchema);
|
51
|
+
if (result.kind == 'Select') {
|
52
|
+
return {
|
53
|
+
columns: result.columns.map(p => p.type),
|
54
|
+
parameters: result.parameters.map(p => p.type)
|
55
|
+
};
|
56
|
+
}
|
57
|
+
if (result.kind == 'Insert') {
|
58
|
+
return {
|
59
|
+
columns: [],
|
60
|
+
parameters: result.parameters.map(p => p.columnType)
|
61
|
+
};
|
62
|
+
}
|
63
|
+
if (result.kind == 'Update') {
|
64
|
+
return {
|
65
|
+
columns: [],
|
66
|
+
parameters: result.data.map(p => p.columnType)
|
67
|
+
};
|
68
|
+
}
|
69
|
+
throw Error("parseAndInfer: " + sql);
|
67
70
|
}
|
68
71
|
exports.parseAndInfer = parseAndInfer;
|
69
72
|
function parseAndInferParamNullability(sql) {
|
@@ -73,42 +76,11 @@ function parseAndInferParamNullability(sql) {
|
|
73
76
|
return (0, infer_param_nullability_1.inferParamNullabilityQuery)(selectStatement);
|
74
77
|
}
|
75
78
|
exports.parseAndInferParamNullability = parseAndInferParamNullability;
|
76
|
-
function extractQueryInfoFromQuerySpecification(querySpec, dbSchema, withSchema, namedParameters) {
|
77
|
-
const fromColumns = (0, select_columns_1.getColumnsFrom)(querySpec, dbSchema, withSchema);
|
78
|
-
const inferResult = (0, collect_constraints_1.analiseQuerySpecification)(querySpec, dbSchema, withSchema, fromColumns, namedParameters);
|
79
|
-
// console.log("inferResult=", inferResult);
|
80
|
-
const columnNullability = (0, infer_column_nullability_1.inferNotNull)(querySpec, dbSchema, withSchema);
|
81
|
-
const selectedColumns = (0, select_columns_1.getColumnNames)(querySpec, fromColumns);
|
82
|
-
const columnResult = selectedColumns.map((col, index) => {
|
83
|
-
const columnType = inferResult.columns[index];
|
84
|
-
const columnNotNull = columnNullability[index];
|
85
|
-
const colInfo = {
|
86
|
-
name: col,
|
87
|
-
type: columnType,
|
88
|
-
notNull: columnNotNull
|
89
|
-
};
|
90
|
-
return colInfo;
|
91
|
-
});
|
92
|
-
const paramInference = (0, infer_param_nullability_1.inferParamNullability)(querySpec);
|
93
|
-
const parametersResult = inferResult.parameters.map((param, index) => {
|
94
|
-
const paramInfo = {
|
95
|
-
name: '?',
|
96
|
-
type: param,
|
97
|
-
notNull: paramInference[index]
|
98
|
-
};
|
99
|
-
return paramInfo;
|
100
|
-
});
|
101
|
-
const queryResult = {
|
102
|
-
columns: columnResult,
|
103
|
-
parameters: parametersResult
|
104
|
-
};
|
105
|
-
return queryResult;
|
106
|
-
}
|
107
|
-
exports.extractQueryInfoFromQuerySpecification = extractQueryInfoFromQuerySpecification;
|
108
79
|
function extractOrderByParameters(selectStatement) {
|
109
80
|
var _a, _b;
|
110
81
|
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.orderClause()) === null || _b === void 0 ? void 0 : _b.orderList().orderExpression().filter(orderExpr => orderExpr.text == '?').map(orderExpr => orderExpr.text)) || [];
|
111
82
|
}
|
83
|
+
exports.extractOrderByParameters = extractOrderByParameters;
|
112
84
|
function extractLimitParameters(selectStatement) {
|
113
85
|
return getLimitOptions(selectStatement)
|
114
86
|
.filter(limit => limit.PARAM_MARKER())
|
@@ -120,9 +92,10 @@ function extractLimitParameters(selectStatement) {
|
|
120
92
|
return paramInfo;
|
121
93
|
}) || [];
|
122
94
|
}
|
95
|
+
exports.extractLimitParameters = extractLimitParameters;
|
123
96
|
function isMultipleRowResult(selectStatement, fromColumns) {
|
124
97
|
var _a, _b;
|
125
|
-
const querySpecs =
|
98
|
+
const querySpecs = getAllQuerySpecificationsFromSelectStatement(selectStatement);
|
126
99
|
if (querySpecs.length == 1) { //UNION queries are multipleRowsResult = true
|
127
100
|
const fromClause = querySpecs[0].fromClause();
|
128
101
|
if (!fromClause) {
|
@@ -159,6 +132,7 @@ function isMultipleRowResult(selectStatement, fromColumns) {
|
|
159
132
|
}
|
160
133
|
return true;
|
161
134
|
}
|
135
|
+
exports.isMultipleRowResult = isMultipleRowResult;
|
162
136
|
function isSumExpressContext(selectItem) {
|
163
137
|
var _a;
|
164
138
|
if (selectItem instanceof ts_mysql_parser_1.SimpleExprWindowingFunctionContext
|
@@ -187,110 +161,113 @@ function isSumExpressContext(selectItem) {
|
|
187
161
|
}
|
188
162
|
return false;
|
189
163
|
}
|
164
|
+
exports.isSumExpressContext = isSumExpressContext;
|
190
165
|
function getLimitOptions(selectStatement) {
|
191
166
|
var _a, _b;
|
192
167
|
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.limitClause()) === null || _b === void 0 ? void 0 : _b.limitOptions().limitOption()) || [];
|
193
168
|
}
|
194
|
-
|
169
|
+
exports.getLimitOptions = getLimitOptions;
|
195
170
|
function extractQueryInfo(sql, dbSchema) {
|
196
|
-
var _a, _b, _c, _d;
|
197
171
|
const { sql: processedSql, namedParameters } = (0, describe_query_1.preprocessSql)(sql);
|
172
|
+
const gererateNested = (0, describe_query_1.generateNestedQueryResult)(sql);
|
198
173
|
const tree = parse(processedSql);
|
199
|
-
const
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
};
|
206
|
-
if (tree instanceof ts_mysql_parser_1.QueryContext) {
|
207
|
-
const selectStatement = (_a = tree.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
|
208
|
-
if (selectStatement) {
|
209
|
-
// selectStatement:
|
210
|
-
// queryExpression
|
211
|
-
// | queryExpressionParens
|
212
|
-
const queryExpression = selectStatement.queryExpression();
|
213
|
-
if (queryExpression) {
|
214
|
-
//queryExpression
|
215
|
-
const withClause = queryExpression.withClause();
|
216
|
-
const allWithSchema = [];
|
217
|
-
const withClauseParameters = [];
|
218
|
-
if (withClause) {
|
219
|
-
const withClauseResults = analyseWithClause(withClause, dbSchema, []);
|
220
|
-
withClauseResults.forEach(withClauseResult => {
|
221
|
-
allWithSchema.push(...withClauseResult.queryResult.columns);
|
222
|
-
withClauseParameters.push(...withClauseResult.queryResult.parameters);
|
223
|
-
});
|
224
|
-
}
|
225
|
-
context.withSchema = allWithSchema;
|
226
|
-
const queryExpressionBody = queryExpression.queryExpressionBody() || queryExpression.queryExpressionParens();
|
227
|
-
if (queryExpressionBody) {
|
228
|
-
const querySpec = getQuerySpecificationsFromSelectStatement(queryExpressionBody);
|
229
|
-
const mainQueryResult = analiseQuery(querySpec, context.dbSchema, context.withSchema, namedParameters);
|
230
|
-
const orderByParameters = extractOrderByParameters(selectStatement);
|
231
|
-
const limitParameters = extractLimitParameters(selectStatement);
|
232
|
-
const allParameters = mainQueryResult.parameters
|
233
|
-
.concat(withClauseParameters)
|
234
|
-
.map(param => ({ type: (0, describe_query_1.verifyNotInferred)(param.type), notNull: param.notNull }))
|
235
|
-
.concat(limitParameters);
|
236
|
-
const fromColumns = (0, select_columns_1.getColumnsFrom)(querySpec[0], context.dbSchema, context.withSchema);
|
237
|
-
const multipleRowsResult = isMultipleRowResult(selectStatement, fromColumns);
|
238
|
-
const resultWithoutOrderBy = {
|
239
|
-
kind: 'Select',
|
240
|
-
multipleRowsResult: multipleRowsResult,
|
241
|
-
columns: mainQueryResult.columns.map(col => ({ columnName: col.name, type: (0, describe_query_1.verifyNotInferred)(col.type), notNull: col.notNull })),
|
242
|
-
parameters: allParameters,
|
243
|
-
};
|
244
|
-
const orderByColumns = orderByParameters.length > 0 ? getOrderByColumns(fromColumns, mainQueryResult.columns) : undefined;
|
245
|
-
if (orderByColumns) {
|
246
|
-
resultWithoutOrderBy.orderByColumns = orderByColumns;
|
247
|
-
}
|
248
|
-
return resultWithoutOrderBy;
|
249
|
-
}
|
250
|
-
}
|
251
|
-
}
|
252
|
-
const insertStatement = (_b = tree.simpleStatement()) === null || _b === void 0 ? void 0 : _b.insertStatement();
|
253
|
-
if (insertStatement) {
|
254
|
-
const typeInfer = (0, collect_constraints_1.analiseInsertStatement)(insertStatement, context);
|
255
|
-
return typeInfer;
|
256
|
-
}
|
257
|
-
const updateStatement = (_c = tree.simpleStatement()) === null || _c === void 0 ? void 0 : _c.updateStatement();
|
258
|
-
if (updateStatement) {
|
259
|
-
const typeInfer = (0, collect_constraints_1.analiseUpdateStatement)(updateStatement, context.dbSchema, context.withSchema);
|
260
|
-
return typeInfer;
|
261
|
-
}
|
262
|
-
const deleteStatement = (_d = tree.simpleStatement()) === null || _d === void 0 ? void 0 : _d.deleteStatement();
|
263
|
-
if (deleteStatement) {
|
264
|
-
const typeInfer = (0, collect_constraints_1.analiseDeleteStatement)(deleteStatement, context.dbSchema, context.withSchema);
|
265
|
-
return typeInfer;
|
174
|
+
const traverseResult = (0, traverse_1.traverseQueryContext)(tree, dbSchema, namedParameters);
|
175
|
+
if (traverseResult.type == 'Select') {
|
176
|
+
const queryInfoResult = extractSelectQueryInfo(traverseResult);
|
177
|
+
if (gererateNested) {
|
178
|
+
const nestedInfo = (0, describe_nested_query_1.generateNestedInfo)(tree, dbSchema, queryInfoResult.columns);
|
179
|
+
queryInfoResult.nestedResultInfo = nestedInfo;
|
266
180
|
}
|
181
|
+
return queryInfoResult;
|
182
|
+
}
|
183
|
+
if (traverseResult.type == 'Insert') {
|
184
|
+
const newResult = {
|
185
|
+
kind: 'Insert',
|
186
|
+
parameters: traverseResult.parameters
|
187
|
+
};
|
188
|
+
return newResult;
|
189
|
+
}
|
190
|
+
if (traverseResult.type == 'Update') {
|
191
|
+
const substitutions = {}; //TODO - DUPLICADO
|
192
|
+
(0, unify_1.unify)(traverseResult.constraints, substitutions);
|
193
|
+
const columnResult = traverseResult.data.map((col) => {
|
194
|
+
const columnType = (0, collect_constraints_1.getVarType)(substitutions, col.type);
|
195
|
+
const columnNotNull = col.notNull;
|
196
|
+
const colInfo = {
|
197
|
+
name: col.name,
|
198
|
+
columnType: (0, describe_query_1.verifyNotInferred)(columnType),
|
199
|
+
notNull: columnNotNull
|
200
|
+
};
|
201
|
+
return colInfo;
|
202
|
+
});
|
203
|
+
const paramResult = traverseResult.parameters.map((col) => {
|
204
|
+
const columnType = (0, collect_constraints_1.getVarType)(substitutions, col.type);
|
205
|
+
const columnNotNull = col.notNull;
|
206
|
+
const colInfo = {
|
207
|
+
name: col.name,
|
208
|
+
columnType: (0, describe_query_1.verifyNotInferred)(columnType),
|
209
|
+
notNull: columnNotNull
|
210
|
+
};
|
211
|
+
return colInfo;
|
212
|
+
});
|
213
|
+
const newResult = {
|
214
|
+
kind: 'Update',
|
215
|
+
data: columnResult,
|
216
|
+
parameters: paramResult
|
217
|
+
};
|
218
|
+
return newResult;
|
219
|
+
}
|
220
|
+
if (traverseResult.type == 'Delete') {
|
221
|
+
const newResult = {
|
222
|
+
kind: 'Delete',
|
223
|
+
parameters: traverseResult.parameters
|
224
|
+
};
|
225
|
+
return newResult;
|
267
226
|
}
|
268
227
|
throw Error('Not supported');
|
269
228
|
}
|
270
229
|
exports.extractQueryInfo = extractQueryInfo;
|
271
|
-
function
|
272
|
-
const
|
273
|
-
|
274
|
-
const
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
}
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
230
|
+
function extractSelectQueryInfo(traverseResult) {
|
231
|
+
const substitutions = {}; //TODO - DUPLICADO
|
232
|
+
(0, unify_1.unify)(traverseResult.constraints, substitutions);
|
233
|
+
const columnResult = traverseResult.columns.map((col) => {
|
234
|
+
const columnType = (0, collect_constraints_1.getVarType)(substitutions, col.type);
|
235
|
+
const columnNotNull = col.notNull;
|
236
|
+
const colInfo = {
|
237
|
+
columnName: col.name,
|
238
|
+
type: (0, describe_query_1.verifyNotInferred)(columnType),
|
239
|
+
notNull: columnNotNull,
|
240
|
+
table: col.table
|
241
|
+
};
|
242
|
+
return colInfo;
|
243
|
+
});
|
244
|
+
const paramsResult = traverseResult.parameters.map((param) => {
|
245
|
+
const columnType = (0, collect_constraints_1.getVarType)(substitutions, param.type);
|
246
|
+
const columnNotNull = param.notNull;
|
247
|
+
const colInfo = {
|
248
|
+
// columnName: param.name,
|
249
|
+
type: (0, describe_query_1.verifyNotInferred)(columnType),
|
250
|
+
notNull: columnNotNull
|
251
|
+
};
|
252
|
+
return colInfo;
|
253
|
+
}).concat(traverseResult.limitParameters);
|
254
|
+
const resultWithoutOrderBy = {
|
255
|
+
kind: 'Select',
|
256
|
+
multipleRowsResult: traverseResult.isMultiRow,
|
257
|
+
columns: columnResult,
|
258
|
+
parameters: paramsResult,
|
259
|
+
};
|
260
|
+
if (traverseResult.orderByColumns) {
|
261
|
+
resultWithoutOrderBy.orderByColumns = traverseResult.orderByColumns;
|
290
262
|
}
|
291
|
-
return
|
263
|
+
return resultWithoutOrderBy;
|
292
264
|
}
|
293
|
-
|
265
|
+
function getAllQuerySpecificationsFromSelectStatement(selectStatement) {
|
266
|
+
const result = [];
|
267
|
+
collectAllQuerySpecifications(selectStatement, result);
|
268
|
+
return result;
|
269
|
+
}
|
270
|
+
exports.getAllQuerySpecificationsFromSelectStatement = getAllQuerySpecificationsFromSelectStatement;
|
294
271
|
function getQuerySpecificationsFromSelectStatement(selectStatement) {
|
295
272
|
const result = [];
|
296
273
|
collectQuerySpecifications(selectStatement, result);
|
@@ -301,7 +278,8 @@ exports.getQuerySpecificationsFromSelectStatement = getQuerySpecificationsFromSe
|
|
301
278
|
function collectQuerySpecifications(tree, result) {
|
302
279
|
for (let i = 0; i < tree.childCount; i++) {
|
303
280
|
const child = tree.getChild(i);
|
304
|
-
|
281
|
+
//add only first query and unions
|
282
|
+
if (child instanceof ts_mysql_parser_1.QuerySpecificationContext && (result.length == 0 || child.parent.UNION_SYMBOL())) {
|
305
283
|
result.push(child);
|
306
284
|
}
|
307
285
|
else {
|
@@ -309,41 +287,15 @@ function collectQuerySpecifications(tree, result) {
|
|
309
287
|
}
|
310
288
|
}
|
311
289
|
}
|
312
|
-
function
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
columnInternalRefList.forEach(colRef => {
|
318
|
-
const identifier = colRef.identifier().text;
|
319
|
-
withSchema.push({
|
320
|
-
name: identifier,
|
321
|
-
notNull: true,
|
322
|
-
type: '?'
|
323
|
-
});
|
324
|
-
});
|
325
|
-
const subQuery = commonTableExpression.subquery();
|
326
|
-
const recursive = withClause.RECURSIVE_SYMBOL() ? true : false;
|
327
|
-
const queryResult = (0, select_columns_1.analyzeSubQuery)(subQuery, dbSchema, withSchema, recursive);
|
328
|
-
if (recursive) {
|
329
|
-
const newColumnNames = queryResult.columns.map((col, index) => {
|
330
|
-
const newR = Object.assign(Object.assign({}, col), { name: withSchema[index].name });
|
331
|
-
return newR;
|
332
|
-
});
|
333
|
-
const newQueryResult = {
|
334
|
-
columns: newColumnNames,
|
335
|
-
parameters: queryResult.parameters
|
336
|
-
};
|
337
|
-
return {
|
338
|
-
identifier,
|
339
|
-
queryResult: newQueryResult
|
340
|
-
};
|
290
|
+
function collectAllQuerySpecifications(tree, result) {
|
291
|
+
for (let i = 0; i < tree.childCount; i++) {
|
292
|
+
const child = tree.getChild(i);
|
293
|
+
if (child instanceof ts_mysql_parser_1.QuerySpecificationContext) {
|
294
|
+
result.push(child);
|
341
295
|
}
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
});
|
347
|
-
return result;
|
296
|
+
else {
|
297
|
+
collectAllQuerySpecifications(child, result);
|
298
|
+
}
|
299
|
+
}
|
348
300
|
}
|
349
301
|
//# sourceMappingURL=parse.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"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"}
|
@@ -1,15 +1,15 @@
|
|
1
|
-
import { RuleContext } from "antlr4ts";
|
1
|
+
import { ParserRuleContext, RuleContext } from "antlr4ts";
|
2
2
|
import { ParseTree } from "antlr4ts/tree";
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
export declare function filterColumns(dbSchema: ColumnSchema[], withSchema:
|
3
|
+
import { JoinedTableContext, SelectItemContext } from "ts-mysql-parser";
|
4
|
+
import { ColumnDef, ColumnSchema, FieldName } from "./types";
|
5
|
+
export declare function filterColumns(dbSchema: ColumnSchema[], withSchema: ColumnDef[], tableAlias: string | undefined, table: FieldName): ColumnDef[];
|
6
6
|
export declare function selectAllColumns(tablePrefix: string, fromColumns: ColumnDef[]): ColumnDef[];
|
7
|
-
export declare function
|
8
|
-
export declare function
|
9
|
-
export declare function extractColumnsFromTableReferences(tablesReferences: TableReferenceContext[], dbSchema: ColumnSchema[], withSchema: TypeAndNullInfer[]): ColumnDef[];
|
10
|
-
export declare function analyzeSubQuery(subQuery: SubqueryContext, dbSchema: ColumnSchema[], withSchema: TypeAndNullInfer[], recursive?: boolean): import("./types").TypeAndNullInferResult;
|
7
|
+
export declare function getColumnName(selectItem: SelectItemContext): string;
|
8
|
+
export declare function extractFieldsFromUsingClause(joinedTableContext: JoinedTableContext): string[];
|
11
9
|
export declare function splitName(fieldName: string): FieldName;
|
10
|
+
export declare const functionAlias: ColumnSchema[];
|
11
|
+
export declare function findColumnSchema(tableName: string, columnName: string, dbSchema: ColumnSchema[]): ColumnSchema | undefined;
|
12
12
|
export declare function findColumn(fieldName: FieldName, columns: ColumnDef[]): ColumnDef;
|
13
|
-
export declare function
|
13
|
+
export declare function extractOriginalSql(rule: ParserRuleContext): string | undefined;
|
14
14
|
export declare function getSimpleExpressions(ctx: RuleContext): ParseTree[];
|
15
15
|
//# sourceMappingURL=select-columns.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select-columns.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"select-columns.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EACH,kBAAkB,EAIqH,iBAAiB,EAC3J,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAyB9I;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAQ7E;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB,UAW1D;AAED,wBAAgB,4BAA4B,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAM7F;AAGD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAWtD;AAOD,eAAO,MAAM,aAAa,EAAE,YAAY,EA6CvC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,4BAI/F;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,CAoBhF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,sBAOzD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,CAKlE"}
|