typesql-cli 0.5.5 → 0.5.7
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/mysql-query-analyzer/collect-constraints.d.ts +2 -2
- package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
- package/mysql-query-analyzer/collect-constraints.js +155 -31
- package/mysql-query-analyzer/collect-constraints.js.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.js +5 -0
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts +2 -2
- package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.js +3 -8
- package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts +2 -2
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +12 -4
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/mysql-query-analyzer/tempCodeRunnerFile.d.ts +1 -0
- package/mysql-query-analyzer/tempCodeRunnerFile.d.ts.map +1 -0
- package/mysql-query-analyzer/tempCodeRunnerFile.js +3 -0
- package/mysql-query-analyzer/tempCodeRunnerFile.js.map +1 -0
- package/package.json +1 -1
@@ -37,8 +37,8 @@ export declare function freshVar(name: string, typeVar: InferType, selectItem?:
|
|
37
37
|
export type NamedNodes = {
|
38
38
|
[key: string]: Type;
|
39
39
|
};
|
40
|
-
export declare function analiseTree(tree: RuleContext,
|
41
|
-
export declare function analiseInsertStatement(insertStatement: InsertStatementContext,
|
40
|
+
export declare function analiseTree(tree: RuleContext, context: InferenceContext, namedParameters: string[]): TypeInferenceResult;
|
41
|
+
export declare function analiseInsertStatement(insertStatement: InsertStatementContext, context: InferenceContext): InsertInfoResult;
|
42
42
|
export declare function analiseDeleteStatement(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[], withSchema: ColumnSchema[]): DeleteInfoResult;
|
43
43
|
export declare function analiseUpdateStatement(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[], withSchema: ColumnSchema[]): UpdateInfoResult;
|
44
44
|
export declare function getInsertColumns(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): ColumnSchema[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAGkE,yBAAyB,EAGrC,sBAAsB,EAC/E,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAE1F,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM7H,OAAO,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQxD,MAAM,MAAM,OAAO,GAAG;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,CAAC,EAAE,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,YAAY,CAAC;AAE1C,KAAK,YAAY,GAAG;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,IAAI,CAAA;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;IAC9D,IAAI,CAAC,EAAE,IAAI,CAAC;CACf,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAA;AAGD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAelG;AAGD,MAAM,MAAM,UAAU,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,
|
1
|
+
{"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
|
@@ -29,16 +29,16 @@ function freshVar(name, typeVar, selectItem, list) {
|
|
29
29
|
return param;
|
30
30
|
}
|
31
31
|
exports.freshVar = freshVar;
|
32
|
-
function analiseTree(tree,
|
32
|
+
function analiseTree(tree, context, namedParameters) {
|
33
33
|
var _a, _b, _c;
|
34
34
|
if (tree instanceof ts_mysql_parser_1.QueryContext) {
|
35
35
|
const selectStatement = (_a = tree.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
|
36
36
|
if (selectStatement) {
|
37
|
-
return analiseSelectStatement(selectStatement, dbSchema, withSchema, namedParameters);
|
37
|
+
return analiseSelectStatement(selectStatement, context.dbSchema, context.withSchema, namedParameters);
|
38
38
|
}
|
39
39
|
const insertStatement = (_b = tree.simpleStatement()) === null || _b === void 0 ? void 0 : _b.insertStatement();
|
40
40
|
if (insertStatement) {
|
41
|
-
const insertStmt = analiseInsertStatement(insertStatement,
|
41
|
+
const insertStmt = analiseInsertStatement(insertStatement, context);
|
42
42
|
const TypeInfer = {
|
43
43
|
columns: [],
|
44
44
|
parameters: insertStmt.parameters.map(param => param.columnType)
|
@@ -47,7 +47,7 @@ function analiseTree(tree, dbSchema, withSchema, namedParameters) {
|
|
47
47
|
}
|
48
48
|
const updateStatement = (_c = tree.simpleStatement()) === null || _c === void 0 ? void 0 : _c.updateStatement();
|
49
49
|
if (updateStatement) {
|
50
|
-
const updateStmt = analiseUpdateStatement(updateStatement, dbSchema, withSchema);
|
50
|
+
const updateStmt = analiseUpdateStatement(updateStatement, context.dbSchema, context.withSchema);
|
51
51
|
const TypeInfer = {
|
52
52
|
columns: [],
|
53
53
|
parameters: updateStmt.data.map(param => param.columnType)
|
@@ -58,44 +58,102 @@ function analiseTree(tree, dbSchema, withSchema, namedParameters) {
|
|
58
58
|
throw Error('invalid type of tree');
|
59
59
|
}
|
60
60
|
exports.analiseTree = analiseTree;
|
61
|
-
function analiseInsertStatement(insertStatement,
|
62
|
-
|
63
|
-
const insertColumns = getInsertColumns(insertStatement, dbSchema);
|
61
|
+
function analiseInsertStatement(insertStatement, context) {
|
62
|
+
var _a, _b;
|
63
|
+
const insertColumns = getInsertColumns(insertStatement, context.dbSchema);
|
64
64
|
const allParameters = [];
|
65
|
+
const paramsNullability = {};
|
65
66
|
const exprOrDefaultList = [];
|
66
|
-
valuesContext.
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
67
|
+
const valuesContext = (_a = insertStatement.insertFromConstructor()) === null || _a === void 0 ? void 0 : _a.insertValues().valueList().values()[0];
|
68
|
+
if (valuesContext) {
|
69
|
+
valuesContext.DEFAULT_SYMBOL().forEach(terminalNode => {
|
70
|
+
exprOrDefaultList.push(terminalNode);
|
71
|
+
});
|
72
|
+
valuesContext.expr().forEach(expr => {
|
73
|
+
exprOrDefaultList.push(expr);
|
74
|
+
});
|
75
|
+
}
|
72
76
|
//order the tokens based on sql position
|
73
77
|
exprOrDefaultList.sort((token1, token2) => token1.sourceInterval.a - token2.sourceInterval.a);
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
78
|
+
const insertIntoTable = getInsertIntoTable(insertStatement);
|
79
|
+
const fromColumns = context.dbSchema
|
80
|
+
.filter(c => c.table == insertIntoTable)
|
81
|
+
.map(c => {
|
82
|
+
const col = {
|
83
|
+
table: c.table,
|
84
|
+
column: c.column,
|
85
|
+
columnName: c.column,
|
86
|
+
columnType: c.column_type,
|
87
|
+
columnKey: "",
|
88
|
+
notNull: c.notNull
|
81
89
|
};
|
90
|
+
return col;
|
91
|
+
});
|
92
|
+
context.fromColumns = fromColumns;
|
93
|
+
exprOrDefaultList.forEach((expr, index) => {
|
82
94
|
const column = insertColumns[index];
|
83
95
|
if (expr instanceof ts_mysql_parser_1.ExprContext) {
|
96
|
+
const numberParamsBefore = context.parameters.length;
|
84
97
|
const exprType = walkExpr(context, expr);
|
98
|
+
context.parameters.slice(numberParamsBefore).forEach(param => {
|
99
|
+
paramsNullability[param.id] = column.notNull;
|
100
|
+
});
|
85
101
|
context.constraints.push({
|
86
102
|
expression: expr.text,
|
87
103
|
type1: freshVar(column.column, column.column_type),
|
88
104
|
type2: exprType.kind == 'TypeOperator' ? exprType.types[0] : exprType
|
89
105
|
});
|
90
106
|
}
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
107
|
+
});
|
108
|
+
const updateList = ((_b = insertStatement.insertUpdateList()) === null || _b === void 0 ? void 0 : _b.updateList().updateElement()) || [];
|
109
|
+
updateList.forEach(updateElement => {
|
110
|
+
const columnName = updateElement.columnRef().text;
|
111
|
+
const field = (0, select_columns_1.splitName)(columnName);
|
112
|
+
const expr = updateElement.expr();
|
113
|
+
if (expr) {
|
114
|
+
const numberParamsBefore = context.parameters.length;
|
115
|
+
const exprType = walkExpr(context, expr);
|
116
|
+
const column = (0, select_columns_1.findColumn2)(field, insertIntoTable, context.dbSchema);
|
117
|
+
context.parameters.slice(numberParamsBefore).forEach(param => {
|
118
|
+
paramsNullability[param.id] = column.notNull;
|
119
|
+
});
|
120
|
+
context.constraints.push({
|
121
|
+
expression: expr.text,
|
122
|
+
type1: exprType,
|
123
|
+
type2: freshVar(column.column, column.column_type)
|
124
|
+
});
|
125
|
+
}
|
126
|
+
});
|
127
|
+
const insertQueryExpression = insertStatement.insertQueryExpression();
|
128
|
+
if (insertQueryExpression) {
|
129
|
+
const numberParamsBefore = context.parameters.length;
|
130
|
+
const exprTypes = walkInsertQueryExpression(insertQueryExpression, context);
|
131
|
+
exprTypes.types.forEach((type, index) => {
|
132
|
+
const column = insertColumns[index];
|
133
|
+
if (type.kind == 'TypeVar') {
|
134
|
+
paramsNullability[type.id] = column.notNull;
|
135
|
+
}
|
136
|
+
context.constraints.push({
|
137
|
+
expression: insertQueryExpression.text,
|
138
|
+
type1: type,
|
139
|
+
type2: freshVar(column.column, column.column_type)
|
97
140
|
});
|
98
141
|
});
|
142
|
+
const paramNullabilityExpr = (0, infer_param_nullability_1.inferParamNullabilityQuery)(insertQueryExpression);
|
143
|
+
context.parameters.slice(numberParamsBefore).forEach((param, index) => {
|
144
|
+
if (paramsNullability[param.id] == null) {
|
145
|
+
paramsNullability[param.id] = paramNullabilityExpr[index];
|
146
|
+
}
|
147
|
+
});
|
148
|
+
}
|
149
|
+
const typeInfo = generateTypeInfo(context.parameters, context.constraints);
|
150
|
+
typeInfo.forEach((param, index) => {
|
151
|
+
const paramId = context.parameters[index].id;
|
152
|
+
allParameters.push({
|
153
|
+
name: 'param' + (allParameters.length + 1),
|
154
|
+
columnType: (0, describe_query_1.verifyNotInferred)(param),
|
155
|
+
notNull: paramsNullability[paramId]
|
156
|
+
});
|
99
157
|
});
|
100
158
|
const typeInferenceResult = {
|
101
159
|
kind: 'Insert',
|
@@ -104,6 +162,50 @@ function analiseInsertStatement(insertStatement, dbSchema, withSchema) {
|
|
104
162
|
return typeInferenceResult;
|
105
163
|
}
|
106
164
|
exports.analiseInsertStatement = analiseInsertStatement;
|
165
|
+
function walkInsertQueryExpression(insertQueryExpression, context) {
|
166
|
+
const queryExpressionOrParens = insertQueryExpression.queryExpressionOrParens();
|
167
|
+
return walkQueryExpressionOrParens(queryExpressionOrParens, context);
|
168
|
+
}
|
169
|
+
function walkQueryExpressionOrParens(queryExpressionOrParens, context) {
|
170
|
+
const queryExpression = queryExpressionOrParens.queryExpression();
|
171
|
+
if (queryExpression) {
|
172
|
+
return walkQueryExpression(queryExpression, context);
|
173
|
+
}
|
174
|
+
const queryEpressionParens = queryExpressionOrParens.queryExpressionParens();
|
175
|
+
if (queryEpressionParens) {
|
176
|
+
return walkQueryExpressionParens(queryEpressionParens);
|
177
|
+
}
|
178
|
+
throw Error("walkQueryExpressionOrParens");
|
179
|
+
}
|
180
|
+
function walkQueryExpression(queryExpression, context) {
|
181
|
+
const queryExpressionBody = queryExpression.queryExpressionBody();
|
182
|
+
if (queryExpressionBody) {
|
183
|
+
return walkQueryExpressionBody(queryExpressionBody, context);
|
184
|
+
}
|
185
|
+
const queryExpressionParens = queryExpression.queryExpressionParens();
|
186
|
+
if (queryExpressionParens) {
|
187
|
+
return walkQueryExpressionParens(queryExpressionParens);
|
188
|
+
}
|
189
|
+
throw Error("walkQueryExpression");
|
190
|
+
}
|
191
|
+
function walkQueryExpressionParens(queryExpressionParens) {
|
192
|
+
throw Error("walkQueryExpressionParens not implemented:" + queryExpressionParens.text);
|
193
|
+
}
|
194
|
+
function walkQueryExpressionBody(queryExpressionBody, context) {
|
195
|
+
const childQueryExpressionBody = queryExpressionBody.queryExpressionBody();
|
196
|
+
if (childQueryExpressionBody) {
|
197
|
+
return walkQueryExpressionBody(childQueryExpressionBody, context);
|
198
|
+
}
|
199
|
+
const queryExpressionParensList = queryExpressionBody.queryExpressionParens();
|
200
|
+
queryExpressionParensList.forEach(queryExpressionParens => {
|
201
|
+
return walkQueryExpressionParens(queryExpressionParens);
|
202
|
+
});
|
203
|
+
const querySpecification = queryExpressionBody.querySpecification();
|
204
|
+
if (querySpecification) {
|
205
|
+
return walkQuerySpecification(context, querySpecification);
|
206
|
+
}
|
207
|
+
throw Error("walkQueryExpressionBody");
|
208
|
+
}
|
107
209
|
function analiseDeleteStatement(deleteStatement, dbSchema, withSchema) {
|
108
210
|
var _a;
|
109
211
|
const whereExpr = (_a = deleteStatement.whereClause()) === null || _a === void 0 ? void 0 : _a.expr();
|
@@ -198,10 +300,16 @@ function analiseUpdateStatement(updateStatement, dbSchema, withSchema) {
|
|
198
300
|
return typeInferenceResult;
|
199
301
|
}
|
200
302
|
exports.analiseUpdateStatement = analiseUpdateStatement;
|
201
|
-
function
|
202
|
-
var _a, _b;
|
303
|
+
function getInsertIntoTable(insertStatement) {
|
203
304
|
const insertIntoTable = (0, select_columns_1.splitName)(insertStatement.tableRef().text).name;
|
204
|
-
|
305
|
+
return insertIntoTable;
|
306
|
+
}
|
307
|
+
function getInsertColumns(insertStatement, dbSchema) {
|
308
|
+
var _a;
|
309
|
+
const insertIntoTable = getInsertIntoTable(insertStatement);
|
310
|
+
const insertFields = insertStatement.insertFromConstructor() ||
|
311
|
+
insertStatement.insertQueryExpression();
|
312
|
+
const fields = (_a = insertFields === null || insertFields === void 0 ? void 0 : insertFields.fields()) === null || _a === void 0 ? void 0 : _a.insertIdentifier().map(insertIdentifier => {
|
205
313
|
const colRef = insertIdentifier.columnRef();
|
206
314
|
if (colRef) {
|
207
315
|
const fieldName = (0, select_columns_1.splitName)(colRef.text);
|
@@ -1242,6 +1350,22 @@ function walkSimpleExpr(context, simpleExpr) {
|
|
1242
1350
|
});
|
1243
1351
|
return functionType;
|
1244
1352
|
}
|
1353
|
+
if (runtimeFunctionCall.IF_SYMBOL()) {
|
1354
|
+
const exprList = runtimeFunctionCall.expr();
|
1355
|
+
const expr1 = exprList[0];
|
1356
|
+
const expr2 = exprList[1];
|
1357
|
+
const expr3 = exprList[2];
|
1358
|
+
walkExpr(context, expr1);
|
1359
|
+
const expr2Type = walkExpr(context, expr2);
|
1360
|
+
const expr3Type = walkExpr(context, expr3);
|
1361
|
+
context.constraints.push({
|
1362
|
+
expression: runtimeFunctionCall.text,
|
1363
|
+
type1: expr2Type,
|
1364
|
+
type2: expr3Type,
|
1365
|
+
mostGeneralType: true
|
1366
|
+
});
|
1367
|
+
return expr2Type;
|
1368
|
+
}
|
1245
1369
|
throw Error('Function not supported: ' + runtimeFunctionCall.text);
|
1246
1370
|
}
|
1247
1371
|
if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprFunctionContext) {
|
@@ -1403,7 +1527,7 @@ function walkSimpleExpr(context, simpleExpr) {
|
|
1403
1527
|
}
|
1404
1528
|
return freshVar('int', 'int');
|
1405
1529
|
}
|
1406
|
-
if (functionIdentifier == 'ifnull') {
|
1530
|
+
if (functionIdentifier == 'ifnull' || functionIdentifier == 'nullif') {
|
1407
1531
|
const functionType = freshVar(simpleExpr.text, '?');
|
1408
1532
|
const udfExprList = (_h = simpleExpr.functionCall().udfExprList()) === null || _h === void 0 ? void 0 : _h.udfExpr();
|
1409
1533
|
if (udfExprList) {
|
@@ -1418,7 +1542,7 @@ function walkSimpleExpr(context, simpleExpr) {
|
|
1418
1542
|
}
|
1419
1543
|
return functionType;
|
1420
1544
|
}
|
1421
|
-
throw Error('Function not supported: ' + functionIdentifier);
|
1545
|
+
throw Error('Function not supported: ' + functionIdentifier);
|
1422
1546
|
}
|
1423
1547
|
if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprParamMarkerContext) {
|
1424
1548
|
const param = freshVar('?', '?');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collect-constraints.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"collect-constraints.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"infer-column-nullability.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":"AACA,OAAO,EACH,yBAAyB,EAAqB,WAAW,EAK5D,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAa,SAAS,EAAE,MAAM,SAAS,CAAC;AAM7D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,GAAE,YAAY,EAAO,yBAkB1G;AAQD,wBAAgB,YAAY,CAAC,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,aAkBtH;
|
1
|
+
{"version":3,"file":"infer-column-nullability.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":"AACA,OAAO,EACH,yBAAyB,EAAqB,WAAW,EAK5D,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAa,SAAS,EAAE,MAAM,SAAS,CAAC;AAM7D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,GAAE,YAAY,EAAO,yBAkB1G;AAQD,wBAAgB,YAAY,CAAC,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,aAkBtH;AAmPD,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAuDhF"}
|
@@ -221,6 +221,11 @@ function inferNotNullRuntimeFunctionCall(simpleExprRuntimeFunction, dbSchema, fr
|
|
221
221
|
//COALEST: Return the first non-null value in a list
|
222
222
|
return exprList.some(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
223
223
|
}
|
224
|
+
if (functionCall.IF_SYMBOL()) {
|
225
|
+
const exprList = functionCall.expr();
|
226
|
+
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
227
|
+
;
|
228
|
+
}
|
224
229
|
throw Error('Function not supported: ' + functionCall.text);
|
225
230
|
}
|
226
231
|
function inferNotNullFunctionCall(functionCall, dbSchema, fromColumns) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"infer-column-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"infer-column-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { SimpleExprParamMarkerContext,
|
1
|
+
import { SimpleExprParamMarkerContext, ExprContext, InsertQueryExpressionContext, SelectStatementContext } from "ts-mysql-parser";
|
2
2
|
import { RuleContext } from "antlr4ts";
|
3
|
-
export declare function inferParamNullabilityQuery(queryContext:
|
3
|
+
export declare function inferParamNullabilityQuery(queryContext: SelectStatementContext | InsertQueryExpressionContext): boolean[];
|
4
4
|
export declare function inferParamNullability(exprContext: ExprContext): boolean[];
|
5
5
|
export declare function inferParameterNotNull(param: SimpleExprParamMarkerContext): boolean;
|
6
6
|
export declare function getParentContext(ctx: RuleContext | undefined, parentContext: any): RuleContext | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"infer-param-nullability.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"infer-param-nullability.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAiD,WAAW,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACjL,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,sBAAsB,GAAG,4BAA4B,GAAG,OAAO,EAAE,CAIzH;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,EAAE,CAGzE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAElF;AAmDD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,aAAa,EAAE,GAAG,GAAG,WAAW,GAAG,SAAS,CAS1G"}
|
@@ -4,14 +4,9 @@ exports.getParentContext = exports.inferParameterNotNull = exports.inferParamNul
|
|
4
4
|
const ts_mysql_parser_1 = require("ts-mysql-parser");
|
5
5
|
const parse_1 = require("./parse");
|
6
6
|
function inferParamNullabilityQuery(queryContext) {
|
7
|
-
|
8
|
-
const
|
9
|
-
|
10
|
-
const queriesSpecification = (0, parse_1.getQuerySpecificationsFromSelectStatement)(selectStatement);
|
11
|
-
const parameters = getAllParameters(queriesSpecification[0]);
|
12
|
-
return parameters.map(param => inferParameterNotNull(param));
|
13
|
-
}
|
14
|
-
throw Error('invalid tree');
|
7
|
+
const queriesSpecification = (0, parse_1.getQuerySpecificationsFromSelectStatement)(queryContext);
|
8
|
+
const parameters = getAllParameters(queriesSpecification[0]);
|
9
|
+
return parameters.map(param => inferParameterNotNull(param));
|
15
10
|
}
|
16
11
|
exports.inferParamNullabilityQuery = inferParamNullabilityQuery;
|
17
12
|
function inferParamNullability(exprContext) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"infer-param-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"infer-param-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { QueryContext, QuerySpecificationContext, SubqueryContext, QueryExpressionParensContext } from 'ts-mysql-parser';
|
1
|
+
import { QueryContext, QuerySpecificationContext, SelectStatementContext, SubqueryContext, QueryExpressionParensContext, QueryExpressionBodyContext, InsertQueryExpressionContext } from 'ts-mysql-parser';
|
2
2
|
import { TypeVar } from './collect-constraints';
|
3
3
|
import { ColumnSchema, TypeInferenceResult, QueryInfoResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult, TypeAndNullInferResult } from './types';
|
4
4
|
export declare function parse(sql: string): QueryContext;
|
@@ -11,5 +11,5 @@ export declare function parseAndInferParamNullability(sql: string): boolean[];
|
|
11
11
|
export declare function extractQueryInfoFromQuerySpecification(querySpec: QuerySpecificationContext, dbSchema: ColumnSchema[], withSchema: ColumnSchema[], namedParameters: string[]): TypeAndNullInferResult;
|
12
12
|
export declare function extractQueryInfo(sql: string, dbSchema: ColumnSchema[]): QueryInfoResult | InsertInfoResult | UpdateInfoResult | DeleteInfoResult;
|
13
13
|
export declare function analiseQuery(querySpec: QuerySpecificationContext[], dbSchema: ColumnSchema[], withSchema: ColumnSchema[], namedParameters: string[]): TypeAndNullInferResult;
|
14
|
-
export declare function getQuerySpecificationsFromSelectStatement(selectStatement:
|
14
|
+
export declare function getQuerySpecificationsFromSelectStatement(selectStatement: SelectStatementContext | InsertQueryExpressionContext | QueryExpressionBodyContext | QueryExpressionParensContext | SubqueryContext): QuerySpecificationContext[];
|
15
15
|
//# sourceMappingURL=parse.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"AAAA,OAAoB,EAAW,YAAY,EAAE,yBAAyB,
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"AAAA,OAAoB,EAAW,YAAY,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,eAAe,EAAqB,4BAA4B,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAEpP,OAAO,EACU,OAAO,EAEvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAa,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EACnH,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAajB,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAO/C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3B,CAAA;AAID,wBAAgB,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAgBtJ;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,GAAE,YAAY,EAAO,GAAG,mBAAmB,CAGzH;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAIpE;AAED,wBAAgB,sCAAsC,CAAC,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAgCpM;AAoDD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAgGhJ;AASD,wBAAgB,YAAY,CAAC,SAAS,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAgB5K;AAED,wBAAgB,yCAAyC,CACrD,eAAe,EAAE,sBAAsB,GACjC,4BAA4B,GAC5B,0BAA0B,GAC1B,4BAA4B,GAC5B,eAAe,GAAG,yBAAyB,EAAE,CAKtD"}
|
@@ -44,7 +44,14 @@ function parse(sql) {
|
|
44
44
|
}
|
45
45
|
exports.parse = parse;
|
46
46
|
function infer(queryContext, dbSchema, withSchema, namedParameters) {
|
47
|
-
const
|
47
|
+
const context = {
|
48
|
+
dbSchema,
|
49
|
+
withSchema,
|
50
|
+
constraints: [],
|
51
|
+
parameters: [],
|
52
|
+
fromColumns: []
|
53
|
+
};
|
54
|
+
const typeInferenceResult = (0, collect_constraints_1.analiseTree)(queryContext, context, namedParameters);
|
48
55
|
// const newTypeInference : TypeInferenceResult = {
|
49
56
|
// columns: typeInferenceResult.columns.map( col => verifyNotInferred(col)),
|
50
57
|
// parameters: typeInferenceResult.parameters.map(paramType => verifyNotInferred(paramType))
|
@@ -59,8 +66,10 @@ function parseAndInfer(sql, dbSchema, withSchema = []) {
|
|
59
66
|
}
|
60
67
|
exports.parseAndInfer = parseAndInfer;
|
61
68
|
function parseAndInferParamNullability(sql) {
|
69
|
+
var _a;
|
62
70
|
const queryContext = parse(sql);
|
63
|
-
|
71
|
+
const selectStatement = (_a = queryContext.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
|
72
|
+
return (0, infer_param_nullability_1.inferParamNullabilityQuery)(selectStatement);
|
64
73
|
}
|
65
74
|
exports.parseAndInferParamNullability = parseAndInferParamNullability;
|
66
75
|
function extractQueryInfoFromQuerySpecification(querySpec, dbSchema, withSchema, namedParameters) {
|
@@ -201,8 +210,7 @@ function extractQueryInfo(sql, dbSchema) {
|
|
201
210
|
}
|
202
211
|
const insertStatement = (_b = tree.simpleStatement()) === null || _b === void 0 ? void 0 : _b.insertStatement();
|
203
212
|
if (insertStatement) {
|
204
|
-
const
|
205
|
-
const typeInfer = (0, collect_constraints_1.analiseInsertStatement)(insertStatement, insertColumns, context.withSchema);
|
213
|
+
const typeInfer = (0, collect_constraints_1.analiseInsertStatement)(insertStatement, context);
|
206
214
|
return typeInfer;
|
207
215
|
}
|
208
216
|
const updateStatement = (_c = tree.simpleStatement()) === null || _c === void 0 ? void 0 : _c.updateStatement();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=tempCodeRunnerFile.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tempCodeRunnerFile.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/tempCodeRunnerFile.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tempCodeRunnerFile.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/tempCodeRunnerFile.ts"],"names":[],"mappings":";AAAA,OAAO,CAAA"}
|