typesql-cli 0.9.6 → 0.10.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.
Files changed (110) hide show
  1. package/README.md +2 -3
  2. package/cli.js +87 -78
  3. package/cli.js.map +1 -1
  4. package/code-generator.d.ts +7 -7
  5. package/code-generator.d.ts.map +1 -1
  6. package/code-generator.js +257 -193
  7. package/code-generator.js.map +1 -1
  8. package/describe-dynamic-query.d.ts +1 -1
  9. package/describe-dynamic-query.d.ts.map +1 -1
  10. package/describe-dynamic-query.js +51 -39
  11. package/describe-dynamic-query.js.map +1 -1
  12. package/describe-nested-query.d.ts +2 -2
  13. package/describe-nested-query.d.ts.map +1 -1
  14. package/describe-nested-query.js +43 -24
  15. package/describe-nested-query.js.map +1 -1
  16. package/describe-query.d.ts +4 -4
  17. package/describe-query.d.ts.map +1 -1
  18. package/describe-query.js +29 -21
  19. package/describe-query.js.map +1 -1
  20. package/drivers/libsql.d.ts +2 -2
  21. package/drivers/libsql.d.ts.map +1 -1
  22. package/drivers/libsql.js +3 -3
  23. package/drivers/libsql.js.map +1 -1
  24. package/mysql-mapping.d.ts +1 -1
  25. package/mysql-mapping.d.ts.map +1 -1
  26. package/mysql-mapping.js +9 -9
  27. package/mysql-mapping.js.map +1 -1
  28. package/mysql-query-analyzer/collect-constraints.d.ts +4 -4
  29. package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
  30. package/mysql-query-analyzer/collect-constraints.js +21 -16
  31. package/mysql-query-analyzer/collect-constraints.js.map +1 -1
  32. package/mysql-query-analyzer/infer-column-nullability.d.ts +2 -2
  33. package/mysql-query-analyzer/infer-column-nullability.d.ts.map +1 -1
  34. package/mysql-query-analyzer/infer-column-nullability.js +81 -67
  35. package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
  36. package/mysql-query-analyzer/infer-param-nullability.d.ts +2 -2
  37. package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
  38. package/mysql-query-analyzer/infer-param-nullability.js +11 -10
  39. package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
  40. package/mysql-query-analyzer/parse.d.ts +2 -2
  41. package/mysql-query-analyzer/parse.d.ts.map +1 -1
  42. package/mysql-query-analyzer/parse.js +39 -32
  43. package/mysql-query-analyzer/parse.js.map +1 -1
  44. package/mysql-query-analyzer/select-columns.d.ts +4 -4
  45. package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
  46. package/mysql-query-analyzer/select-columns.js +76 -53
  47. package/mysql-query-analyzer/select-columns.js.map +1 -1
  48. package/mysql-query-analyzer/traverse.d.ts +4 -4
  49. package/mysql-query-analyzer/traverse.d.ts.map +1 -1
  50. package/mysql-query-analyzer/traverse.js +312 -206
  51. package/mysql-query-analyzer/traverse.js.map +1 -1
  52. package/mysql-query-analyzer/types.d.ts +5 -5
  53. package/mysql-query-analyzer/types.d.ts.map +1 -1
  54. package/mysql-query-analyzer/unify.d.ts +2 -2
  55. package/mysql-query-analyzer/unify.d.ts.map +1 -1
  56. package/mysql-query-analyzer/unify.js +533 -491
  57. package/mysql-query-analyzer/unify.js.map +1 -1
  58. package/mysql-query-analyzer/util.d.ts.map +1 -1
  59. package/mysql-query-analyzer/util.js +2 -3
  60. package/mysql-query-analyzer/util.js.map +1 -1
  61. package/mysql-query-analyzer/verify-multiple-result.d.ts +2 -2
  62. package/mysql-query-analyzer/verify-multiple-result.d.ts.map +1 -1
  63. package/mysql-query-analyzer/verify-multiple-result.js +12 -8
  64. package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
  65. package/package.json +46 -45
  66. package/queryExectutor.d.ts +4 -4
  67. package/queryExectutor.d.ts.map +1 -1
  68. package/queryExectutor.js +11 -13
  69. package/queryExectutor.js.map +1 -1
  70. package/sql-generator.d.ts +2 -2
  71. package/sql-generator.d.ts.map +1 -1
  72. package/sql-generator.js +29 -25
  73. package/sql-generator.js.map +1 -1
  74. package/sqlite-query-analyzer/code-generator.d.ts +5 -5
  75. package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
  76. package/sqlite-query-analyzer/code-generator.js +372 -221
  77. package/sqlite-query-analyzer/code-generator.js.map +1 -1
  78. package/sqlite-query-analyzer/parser.d.ts +4 -4
  79. package/sqlite-query-analyzer/parser.d.ts.map +1 -1
  80. package/sqlite-query-analyzer/parser.js +30 -17
  81. package/sqlite-query-analyzer/parser.js.map +1 -1
  82. package/sqlite-query-analyzer/query-executor.d.ts +5 -5
  83. package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
  84. package/sqlite-query-analyzer/query-executor.js +39 -25
  85. package/sqlite-query-analyzer/query-executor.js.map +1 -1
  86. package/sqlite-query-analyzer/replace-list-params.d.ts +1 -1
  87. package/sqlite-query-analyzer/replace-list-params.d.ts.map +1 -1
  88. package/sqlite-query-analyzer/replace-list-params.js +4 -3
  89. package/sqlite-query-analyzer/replace-list-params.js.map +1 -1
  90. package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts +4 -4
  91. package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts.map +1 -1
  92. package/sqlite-query-analyzer/sqlite-describe-nested-query.js +33 -18
  93. package/sqlite-query-analyzer/sqlite-describe-nested-query.js.map +1 -1
  94. package/sqlite-query-analyzer/traverse.d.ts +5 -5
  95. package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
  96. package/sqlite-query-analyzer/traverse.js +249 -160
  97. package/sqlite-query-analyzer/traverse.js.map +1 -1
  98. package/ts-dynamic-query-descriptor.d.ts +1 -1
  99. package/ts-dynamic-query-descriptor.d.ts.map +1 -1
  100. package/ts-dynamic-query-descriptor.js +4 -4
  101. package/ts-dynamic-query-descriptor.js.map +1 -1
  102. package/ts-nested-descriptor.d.ts +4 -4
  103. package/ts-nested-descriptor.d.ts.map +1 -1
  104. package/ts-nested-descriptor.js +11 -11
  105. package/ts-nested-descriptor.js.map +1 -1
  106. package/types.d.ts +13 -14
  107. package/types.d.ts.map +1 -1
  108. package/util.d.ts.map +1 -1
  109. package/util.js.map +1 -1
  110. package/utility-types.d.ts.map +1 -1
@@ -13,8 +13,8 @@ function parseAndInferNotNull(sql, dbSchema) {
13
13
  const { sql: processedSql, namedParameters } = (0, describe_query_1.preprocessSql)(sql);
14
14
  const tree = (0, parse_1.parse)(processedSql);
15
15
  const result = (0, traverse_1.traverseQueryContext)(tree, dbSchema, namedParameters);
16
- if (result.type == 'Select') {
17
- return result.columns.map(col => col.notNull);
16
+ if (result.type === 'Select') {
17
+ return result.columns.map((col) => col.notNull);
18
18
  }
19
19
  return [];
20
20
  }
@@ -23,15 +23,18 @@ function inferNotNull(querySpec, dbSchema, fromColumns) {
23
23
  const notNullInference = [];
24
24
  const whereClause = querySpec.whereClause();
25
25
  if (querySpec.selectItemList().MULT_OPERATOR()) {
26
- fromColumns.forEach(col => {
26
+ for (const col of fromColumns) {
27
27
  const field = (0, select_columns_1.splitName)(col.columnName);
28
- const notNull = col.notNull || (whereClause && !possibleNullWhere(field, whereClause)) || false;
28
+ const notNull = col.notNull ||
29
+ (whereClause && !possibleNullWhere(field, whereClause)) ||
30
+ false;
29
31
  notNullInference.push(notNull); //TODO infernot null in where?
30
- });
32
+ }
31
33
  }
32
- querySpec.selectItemList().selectItem_list().forEach(selectItem => {
34
+ const selectItem_list = querySpec.selectItemList().selectItem_list();
35
+ for (const selectItem of selectItem_list) {
33
36
  notNullInference.push(...inferNotNullSelectItem(selectItem, dbSchema, fromColumns, whereClause));
34
- });
37
+ }
35
38
  return notNullInference;
36
39
  }
37
40
  exports.inferNotNull = inferNotNull;
@@ -39,12 +42,14 @@ function inferNotNullSelectItem(selectItem, dbSchema, fromColumns, whereClause)
39
42
  const notNullItems = [];
40
43
  const tableWild = selectItem.tableWild();
41
44
  if (tableWild === null || tableWild === void 0 ? void 0 : tableWild.MULT_OPERATOR()) {
42
- tableWild.identifier_list().forEach(tabWild => {
45
+ tableWild.identifier_list().forEach((tabWild) => {
43
46
  const prefix = tabWild.getText();
44
47
  const columns = (0, select_columns_1.selectAllColumns)(prefix, fromColumns);
45
- columns.forEach(col => {
48
+ columns.forEach((col) => {
46
49
  const field = (0, select_columns_1.splitName)(col.columnName);
47
- const notNull = col.notNull || (whereClause && !possibleNullWhere(field, whereClause)) || false;
50
+ const notNull = col.notNull ||
51
+ (whereClause && !possibleNullWhere(field, whereClause)) ||
52
+ false;
48
53
  notNullItems.push(notNull);
49
54
  });
50
55
  });
@@ -86,7 +91,7 @@ function inferNotNullBoolPri(boolPri, dbSchema, fromColumns) {
86
91
  }
87
92
  function inferNotNullPredicate(predicate, dbSchema, fromColumns) {
88
93
  const bitExpr = predicate.bitExpr_list();
89
- if (bitExpr.length == 1) {
94
+ if (bitExpr.length === 1) {
90
95
  return inferNotNullBitExpr(bitExpr[0], dbSchema, fromColumns);
91
96
  }
92
97
  throw Error('Error during column null inference');
@@ -97,12 +102,12 @@ function inferNotNullBitExpr(bitExpr, dbSchema, fromColumns) {
97
102
  return inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns);
98
103
  }
99
104
  const bitExpr2 = bitExpr.bitExpr_list();
100
- const notNull = bitExpr2.every(bitExprItem => inferNotNullBitExpr(bitExprItem, dbSchema, fromColumns));
105
+ const notNull = bitExpr2.every((bitExprItem) => inferNotNullBitExpr(bitExprItem, dbSchema, fromColumns));
101
106
  return notNull;
102
107
  }
103
108
  function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
104
109
  var _a;
105
- const querySpec = (0, infer_param_nullability_1.getParentContext)(simpleExpr, ts_mysql_parser_1.QuerySpecificationContext);
110
+ const querySpec = ((0, infer_param_nullability_1.getParentContext)(simpleExpr, ts_mysql_parser_1.QuerySpecificationContext));
106
111
  const whereClause = querySpec.whereClause();
107
112
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
108
113
  const columnName = simpleExpr.columnRef().fieldIdentifier().getText();
@@ -114,7 +119,6 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
114
119
  if (whereClause && !possibleNullWhere(fieldName, whereClause)) {
115
120
  return true;
116
121
  }
117
- ;
118
122
  return false;
119
123
  }
120
124
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprRuntimeFunctionContext) {
@@ -143,7 +147,7 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
143
147
  if (sumExpr.GROUP_CONCAT_SYMBOL()) {
144
148
  const exprList = (_a = sumExpr.exprList()) === null || _a === void 0 ? void 0 : _a.expr_list();
145
149
  if (exprList) {
146
- return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
150
+ return exprList.every((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
147
151
  }
148
152
  //IF has not exprList, GROUP_CONCAT will concat all the fields from select
149
153
  return false; //TODO - INFER NULLABILITY
@@ -155,7 +159,7 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
155
159
  }
156
160
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprListContext) {
157
161
  const exprList = simpleExpr.exprList().expr_list();
158
- return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
162
+ return exprList.every((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
159
163
  }
160
164
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprSubQueryContext) {
161
165
  if (simpleExpr.EXISTS_SYMBOL()) {
@@ -167,16 +171,14 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
167
171
  const thenExprList = simpleExpr.thenExpression_list();
168
172
  const elseExpr = simpleExpr.elseExpression();
169
173
  if (elseExpr) {
170
- let caseNotNull = thenExprList.every(thenExpr => inferNotNullExpr(thenExpr.expr(), dbSchema, fromColumns));
171
- return caseNotNull && inferNotNullExpr(elseExpr.expr(), dbSchema, fromColumns);
172
- }
173
- else {
174
- return false; //if doesn't have else, the not null can't be inferred
174
+ const caseNotNull = thenExprList.every((thenExpr) => inferNotNullExpr(thenExpr.expr(), dbSchema, fromColumns));
175
+ return (caseNotNull && inferNotNullExpr(elseExpr.expr(), dbSchema, fromColumns));
175
176
  }
177
+ return false; //if doesn't have else, the not null can't be inferred
176
178
  }
177
179
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprIntervalContext) {
178
180
  const exprList = simpleExpr.expr_list();
179
- return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
181
+ return exprList.every((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
180
182
  }
181
183
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprWindowingFunctionContext) {
182
184
  return inferNotNullWindowFunctionCall(simpleExpr.windowFunctionCall(), dbSchema, fromColumns);
@@ -185,18 +187,17 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
185
187
  const expr = simpleExpr.expr();
186
188
  return inferNotNullExpr(expr, dbSchema, fromColumns);
187
189
  }
188
- throw Error('Error during column null inference. Expr: ' + simpleExpr.getText());
190
+ throw Error(`Error during column null inference. Expr: ${simpleExpr.getText()}`);
189
191
  }
190
192
  function inferNotNullWindowFunctionCall(windowFunctionCall, dbSchema, fromColumns) {
191
- if (windowFunctionCall.ROW_NUMBER_SYMBOL()
192
- || windowFunctionCall.RANK_SYMBOL()
193
- || windowFunctionCall.DENSE_RANK_SYMBOL()
194
- || windowFunctionCall.CUME_DIST_SYMBOL()
195
- || windowFunctionCall.PERCENT_RANK_SYMBOL()) {
193
+ if (windowFunctionCall.ROW_NUMBER_SYMBOL() ||
194
+ windowFunctionCall.RANK_SYMBOL() ||
195
+ windowFunctionCall.DENSE_RANK_SYMBOL() ||
196
+ windowFunctionCall.CUME_DIST_SYMBOL() ||
197
+ windowFunctionCall.PERCENT_RANK_SYMBOL()) {
196
198
  return true;
197
199
  }
198
- if (windowFunctionCall.LEAD_SYMBOL()
199
- || windowFunctionCall.LAG_SYMBOL()) {
200
+ if (windowFunctionCall.LEAD_SYMBOL() || windowFunctionCall.LAG_SYMBOL()) {
200
201
  return false;
201
202
  }
202
203
  const exprWithParentheses = windowFunctionCall.exprWithParentheses();
@@ -209,7 +210,9 @@ function inferNotNullWindowFunctionCall(windowFunctionCall, dbSchema, fromColumn
209
210
  function inferNotNullRuntimeFunctionCall(simpleExprRuntimeFunction, dbSchema, fromColumns) {
210
211
  var _a, _b;
211
212
  const functionCall = simpleExprRuntimeFunction.runtimeFunctionCall();
212
- if (functionCall.NOW_SYMBOL() || functionCall.CURDATE_SYMBOL() || functionCall.CURTIME_SYMBOL()) {
213
+ if (functionCall.NOW_SYMBOL() ||
214
+ functionCall.CURDATE_SYMBOL() ||
215
+ functionCall.CURTIME_SYMBOL()) {
213
216
  return true;
214
217
  }
215
218
  if (functionCall.MOD_SYMBOL()) {
@@ -217,71 +220,79 @@ function inferNotNullRuntimeFunctionCall(simpleExprRuntimeFunction, dbSchema, fr
217
220
  }
218
221
  if (functionCall.REPLACE_SYMBOL()) {
219
222
  const exprList = functionCall.expr_list();
220
- return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
223
+ return exprList.every((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
221
224
  }
222
225
  const trimFunction = functionCall.trimFunction();
223
226
  if (trimFunction) {
224
227
  const exprList = trimFunction.expr_list();
225
- return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
228
+ return exprList.every((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
226
229
  }
227
230
  const substringFunction = functionCall.substringFunction();
228
231
  if (substringFunction) {
229
232
  const exprList = substringFunction.expr_list();
230
- return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
231
- }
232
- if (functionCall.YEAR_SYMBOL() || functionCall.MONTH_SYMBOL() || functionCall.DAY_SYMBOL()
233
- || functionCall.HOUR_SYMBOL() || functionCall.MINUTE_SYMBOL() || functionCall.SECOND_SYMBOL()) {
233
+ return exprList.every((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
234
+ }
235
+ if (functionCall.YEAR_SYMBOL() ||
236
+ functionCall.MONTH_SYMBOL() ||
237
+ functionCall.DAY_SYMBOL() ||
238
+ functionCall.HOUR_SYMBOL() ||
239
+ functionCall.MINUTE_SYMBOL() ||
240
+ functionCall.SECOND_SYMBOL()) {
234
241
  const expr = (_a = functionCall.exprWithParentheses()) === null || _a === void 0 ? void 0 : _a.expr();
235
242
  return inferNotNullExpr(expr, dbSchema, fromColumns);
236
243
  }
237
- if (functionCall.ADDDATE_SYMBOL()
238
- || functionCall.SUBDATE_SYMBOL()
239
- || functionCall.DATE_ADD_SYMBOL()
240
- || functionCall.DATE_SUB_SYMBOL()) {
244
+ if (functionCall.ADDDATE_SYMBOL() ||
245
+ functionCall.SUBDATE_SYMBOL() ||
246
+ functionCall.DATE_ADD_SYMBOL() ||
247
+ functionCall.DATE_SUB_SYMBOL()) {
241
248
  const exprList = functionCall.expr_list();
242
- return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
249
+ return exprList.every((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
243
250
  }
244
251
  if (functionCall.COALESCE_SYMBOL()) {
245
- const exprList = (_b = functionCall.exprListWithParentheses()) === null || _b === void 0 ? void 0 : _b.exprList().expr_list();
252
+ const exprList = (_b = functionCall
253
+ .exprListWithParentheses()) === null || _b === void 0 ? void 0 : _b.exprList().expr_list();
246
254
  //COALEST: Return the first non-null value in a list
247
- return exprList.some(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
255
+ return exprList.some((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
248
256
  }
249
257
  if (functionCall.IF_SYMBOL()) {
250
258
  const exprList = functionCall.expr_list();
251
- return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
252
- ;
259
+ return exprList.every((expr) => inferNotNullExpr(expr, dbSchema, fromColumns));
253
260
  }
254
- throw Error('Function not supported: ' + functionCall.getText());
261
+ throw Error(`Function not supported: ${functionCall.getText()}`);
255
262
  }
256
263
  function inferNotNullFunctionCall(functionCall, dbSchema, fromColumns) {
257
264
  var _a, _b, _c, _d;
258
- const functionName = ((_a = functionCall.pureIdentifier()) === null || _a === void 0 ? void 0 : _a.getText().toLowerCase()) || ((_b = functionCall.qualifiedIdentifier()) === null || _b === void 0 ? void 0 : _b.getText().toLowerCase());
265
+ const functionName = ((_a = functionCall.pureIdentifier()) === null || _a === void 0 ? void 0 : _a.getText().toLowerCase()) ||
266
+ ((_b = functionCall.qualifiedIdentifier()) === null || _b === void 0 ? void 0 : _b.getText().toLowerCase());
259
267
  const udfExprList = (_c = functionCall.udfExprList()) === null || _c === void 0 ? void 0 : _c.udfExpr_list();
260
- if (functionName == 'ifnull') {
268
+ if (functionName === 'ifnull') {
261
269
  if (udfExprList) {
262
270
  const [expr1, expr2] = udfExprList;
263
- const notNull = inferNotNullExpr(expr1.expr(), dbSchema, fromColumns) || inferNotNullExpr(expr2.expr(), dbSchema, fromColumns);
271
+ const notNull = inferNotNullExpr(expr1.expr(), dbSchema, fromColumns) ||
272
+ inferNotNullExpr(expr2.expr(), dbSchema, fromColumns);
264
273
  return notNull;
265
274
  }
266
275
  return false;
267
276
  }
268
- if (functionName == 'avg') {
277
+ if (functionName === 'avg') {
269
278
  return false;
270
279
  }
271
- if (functionName == 'str_to_date') {
280
+ if (functionName === 'str_to_date') {
272
281
  return false; //invalid date
273
282
  }
274
283
  if (udfExprList) {
275
- return udfExprList.filter((expr, paramIndex) => {
276
- return functionName == 'timestampdiff' ? paramIndex != 0 : true; //filter the first parameter of timestampdiff function
277
- }).every((udfExpr) => {
284
+ return udfExprList
285
+ .filter((expr, paramIndex) => {
286
+ return functionName === 'timestampdiff' ? paramIndex !== 0 : true; //filter the first parameter of timestampdiff function
287
+ })
288
+ .every((udfExpr) => {
278
289
  const expr = udfExpr.expr();
279
290
  return inferNotNullExpr(expr, dbSchema, fromColumns);
280
291
  });
281
292
  }
282
293
  const exprList = (_d = functionCall.exprList()) === null || _d === void 0 ? void 0 : _d.expr_list();
283
294
  if (exprList) {
284
- return exprList.every(expr => {
295
+ return exprList.every((expr) => {
285
296
  return inferNotNullExpr(expr, dbSchema, fromColumns);
286
297
  });
287
298
  }
@@ -300,7 +311,8 @@ function possibleNull(field, exprContext) {
300
311
  const expr = res.exprList().expr(0);
301
312
  return possibleNull(field, expr);
302
313
  }
303
- if (res instanceof ts_mysql_parser_1.SimpleExprSubQueryContext) { //exists, not exists
314
+ if (res instanceof ts_mysql_parser_1.SimpleExprSubQueryContext) {
315
+ //exists, not exists
304
316
  return true; //possibleNull
305
317
  }
306
318
  }
@@ -311,9 +323,9 @@ function possibleNull(field, exprContext) {
311
323
  }
312
324
  }
313
325
  if (boolPri instanceof ts_mysql_parser_1.PrimaryExprCompareContext) {
314
- let compare = boolPri.boolPri().getText(); //value > 10;
315
- let compare2 = boolPri.predicate().getText(); //10 < value
316
- //TODO - more complex expressions. ex. (value + value2) > 10;
326
+ const compare = boolPri.boolPri().getText(); //value > 10;
327
+ const compare2 = boolPri.predicate().getText(); //10 < value
328
+ //TODO - more complex expressions. ex. (value + value2) > 10;
317
329
  if (areEquals(field, compare) || areEquals(field, compare2)) {
318
330
  return false; //possibleNull
319
331
  }
@@ -327,9 +339,9 @@ function possibleNull(field, exprContext) {
327
339
  if (exprContext instanceof ts_mysql_parser_1.ExprAndContext) {
328
340
  const [first, ...rest] = exprContext.expr_list();
329
341
  let possibleNullVar = possibleNull(field, first);
330
- rest.forEach(expr => {
342
+ for (const expr of rest) {
331
343
  possibleNullVar = possibleNullVar && possibleNull(field, expr);
332
- });
344
+ }
333
345
  return possibleNullVar;
334
346
  }
335
347
  if (exprContext instanceof ts_mysql_parser_1.ExprXorContext) {
@@ -338,12 +350,12 @@ function possibleNull(field, exprContext) {
338
350
  if (exprContext instanceof ts_mysql_parser_1.ExprOrContext) {
339
351
  const [first, ...rest] = exprContext.expr_list();
340
352
  let possibleNullVar = possibleNull(field, first);
341
- rest.forEach(expr => {
353
+ for (const expr of rest) {
342
354
  possibleNullVar = possibleNullVar || possibleNull(field, expr);
343
- });
355
+ }
344
356
  return possibleNullVar;
345
357
  }
346
- throw Error('Unknow type:' + exprContext.constructor.name);
358
+ throw Error(`Unknow type:${exprContext.constructor.name}`);
347
359
  }
348
360
  exports.possibleNull = possibleNull;
349
361
  function areEquals(field, expressionField) {
@@ -353,7 +365,9 @@ function areEquals(field, expressionField) {
353
365
  t1.name == name
354
366
  name == t1.name
355
367
  */
356
- return field.name == compare.name &&
357
- ((field.prefix == compare.prefix) || (field.prefix == '' || compare.prefix == ''));
368
+ return (field.name === compare.name &&
369
+ (field.prefix === compare.prefix ||
370
+ field.prefix === '' ||
371
+ compare.prefix === ''));
358
372
  }
359
373
  //# sourceMappingURL=infer-column-nullability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"infer-column-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":";;;AAAA,8DAMkC;AAElC,qDAA2E;AAC3E,uEAAoF;AACpF,yCAAkD;AAClD,mCAAgC;AAChC,sDAAkD;AAElD,mCAAmC;AACnC,mBAAmB;AACnB,SAAgB,oBAAoB,CAAC,GAAW,EAAE,QAAwB;IACtE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,IAAA,aAAK,EAAC,YAAY,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAA,+BAAoB,EAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,CAAC;AAEd,CAAC;AATD,oDASC;AAED,SAAgB,YAAY,CAAC,SAAoC,EAAE,QAAwB,EAAE,WAAwB;IAEjH,MAAM,gBAAgB,GAAc,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC;QAC7C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,KAAK,GAAG,IAAA,0BAAS,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC;YAChG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B;QAClE,CAAC,CAAC,CAAA;IACN,CAAC;IAED,SAAS,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC9D,gBAAgB,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACrG,CAAC,CAAC,CAAA;IACF,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAjBD,oCAiBC;AAED,SAAS,sBAAsB,CAAC,UAA6B,EAAE,QAAwB,EAAE,WAAwB,EAAE,WAA2C;IAC1J,MAAM,YAAY,GAAc,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;IACzC,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,EAAE,EAAE,CAAC;QAC7B,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAA,iCAAgB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACtD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAClB,MAAM,KAAK,GAAG,IAAA,0BAAS,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,KAAK,CAAA;gBAC/F,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IAExB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC9D,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAiB,EAAE,QAAwB,EAAE,WAAwB;IAC3F,IAAI,IAAI,YAAY,+BAAa,EAAE,CAAC;QAChC,OAAO,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAqB,EAAE,QAAwB,EAAE,WAAwB;IACjG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAuB,EAAE,QAAwB,EAAE,WAAwB;IACpG,IAAI,OAAO,YAAY,6CAA2B,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,YAAY,2CAAyB,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAChF,OAAO,WAAW,IAAI,YAAY,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,YAAY,0CAAwB,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,qBAAqB,CAAC,SAA2B,EAAE,QAAwB,EAAE,WAAwB;IAC1G,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAuB,EAAE,QAAwB,EAAE,WAAwB;IACpG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACxC,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;IACtG,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,UAA6B,EAAE,QAAwB,EAAE,WAAwB;;IAE7G,MAAM,SAAS,GAA8B,IAAA,0CAAgB,EAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IACrG,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,UAAU,YAAY,4CAA0B,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,SAAS,GAAG,IAAA,0BAAS,EAAC,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAA,2BAAU,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,WAAW,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QAChB,CAAC;QAAA,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,YAAY,kDAAgC,EAAE,CAAC;QACzD,OAAO,+BAA+B,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,UAAU,YAAY,2CAAyB,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QAC/C,OAAO,wBAAwB,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,UAAU,YAAY,0CAAwB,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,UAAU,YAAY,8CAA4B,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAA,+CAAqB,EAAC,UAAU,CAAC,CAAC;QACrD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,IAAI,UAAU,YAAY,sCAAoB,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,EAAE,0CAAE,SAAS,EAAE,CAAC;YACjD,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACjF,CAAC;YACD,0EAA0E;YAC1E,OAAO,KAAK,CAAC,CAAC,0BAA0B;QAC5C,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACjB,CAAC;IAEL,CAAC;IAED,IAAI,UAAU,YAAY,uCAAqB,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,UAAU,YAAY,2CAAyB,EAAE,CAAC;QAClD,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,UAAU,YAAY,uCAAqB,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YAC3G,OAAO,WAAW,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACnF,CAAC;aACI,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,sDAAsD;QACxE,CAAC;IACL,CAAC;IACD,IAAI,UAAU,YAAY,2CAAyB,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjF,CAAC;IACD,IAAI,UAAU,YAAY,oDAAkC,EAAE,CAAC;QAC3D,OAAO,8BAA8B,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,UAAU,YAAY,uCAAqB,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,CAAC,4CAA4C,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,8BAA8B,CAAC,kBAA6C,EAAE,QAAwB,EAAE,WAAwB;IACrI,IAAI,kBAAkB,CAAC,iBAAiB,EAAE;WACnC,kBAAkB,CAAC,WAAW,EAAE;WAChC,kBAAkB,CAAC,iBAAiB,EAAE;WACtC,kBAAkB,CAAC,gBAAgB,EAAE;WACrC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,kBAAkB,CAAC,WAAW,EAAE;WAC7B,kBAAkB,CAAC,UAAU,EAAE,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,CAAA;IACpE,IAAI,mBAAmB,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,CAAC,iEAAiE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,+BAA+B,CAAC,yBAA2D,EAAE,QAAwB,EAAE,WAAwB;;IACpJ,MAAM,YAAY,GAAG,yBAAyB,CAAC,mBAAmB,EAAE,CAAC;IACrE,IAAI,YAAY,CAAC,UAAU,EAAE,IAAI,YAAY,CAAC,cAAc,EAAE,IAAI,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,CAAC,wBAAwB;IAC1C,CAAC;IACD,IAAI,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;IACjD,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAC3D,IAAI,iBAAiB,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC/C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,YAAY,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,YAAY,EAAE,IAAI,YAAY,CAAC,UAAU,EAAE;WACnF,YAAY,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,aAAa,EAAE,IAAI,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;QAChG,MAAM,IAAI,GAAG,MAAA,YAAY,CAAC,mBAAmB,EAAE,0CAAE,IAAI,EAAG,CAAC;QACzD,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,YAAY,CAAC,cAAc,EAAE;WAC1B,YAAY,CAAC,cAAc,EAAE;WAC7B,YAAY,CAAC,eAAe,EAAE;WAC9B,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAA,YAAY,CAAC,uBAAuB,EAAE,0CAAE,QAAQ,GAAG,SAAS,EAAG,CAAC;QACjF,oDAAoD;QACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAAA,CAAC;IAClF,CAAC;IACD,MAAM,KAAK,CAAC,0BAA0B,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;AAErE,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAiC,EAAE,QAAwB,EAAE,WAAwB;;IACnH,MAAM,YAAY,GAAG,CAAA,MAAA,YAAY,CAAC,cAAc,EAAE,0CAAE,OAAO,GAAG,WAAW,EAAE,MAAI,MAAA,YAAY,CAAC,mBAAmB,EAAE,0CAAE,OAAO,GAAG,WAAW,EAAE,CAAA,CAAC;IAC3I,MAAM,WAAW,GAAG,MAAA,YAAY,CAAC,WAAW,EAAE,0CAAE,YAAY,EAAE,CAAC;IAC/D,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC;YACnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/H,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,CAAC,cAAc;IAChC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;YAC3C,OAAO,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,sDAAsD;QAC1H,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IACD,MAAM,QAAQ,GAAG,MAAA,YAAY,CAAC,QAAQ,EAAE,0CAAE,SAAS,EAAE,CAAC;IACtD,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,SAAS,iBAAiB,CAAC,KAAgB,EAAE,WAA+B;IACxE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAgB,EAAE,WAAwB;IACnE,IAAI,WAAW,YAAY,+BAAa,EAAE,CAAC;QAEvC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,OAAO,YAAY,6CAA2B,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YACxD,IAAI,GAAG,YAAY,uCAAqB,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpC,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,GAAG,YAAY,2CAAyB,EAAE,CAAC,CAAC,oBAAoB;gBAChE,OAAO,IAAI,CAAC,CAAC,cAAc;YAC/B,CAAC;QACL,CAAC;QACD,IAAI,OAAO,YAAY,0CAAwB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAC,CAAC,cAAc;YAChC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,YAAY,2CAAyB,EAAE,CAAC;YAC/C,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa;YACxD,IAAI,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY;YAC1D,8DAA8D;YAC9D,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC1D,OAAO,KAAK,CAAC,CAAE,cAAc;YACjC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,cAAc;IAE/B,CAAC;IACD,IAAI,WAAW,YAAY,gCAAc,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,WAAW,YAAY,gCAAc,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QACjD,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChB,eAAe,GAAG,eAAe,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,CAAA;QACF,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,YAAY,gCAAc,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IAEhD,CAAC;IACD,IAAI,WAAW,YAAY,+BAAa,EAAE,CAAC;QAEvC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QACjD,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChB,eAAe,GAAG,eAAe,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,CAAA;QACF,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,MAAM,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AA1DD,oCA0DC;AAED,SAAS,SAAS,CAAC,KAAgB,EAAE,eAAuB;IACxD,MAAM,OAAO,GAAG,IAAA,0BAAS,EAAC,eAAe,CAAC,CAAC,CAAC,SAAS;IACrD;;;;MAIE;IACF,OAAO,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI;QAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;AAC1F,CAAC"}
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,5 +1,5 @@
1
- import { SimpleExprParamMarkerContext, ExprContext, InsertQueryExpressionContext, SelectStatementContext, QueryExpressionContext } from '@wsporto/ts-mysql-parser';
2
- import { RuleContext } from "@wsporto/ts-mysql-parser";
1
+ import { SimpleExprParamMarkerContext, type ExprContext, type InsertQueryExpressionContext, type SelectStatementContext, type QueryExpressionContext } from '@wsporto/ts-mysql-parser';
2
+ import type { RuleContext } from '@wsporto/ts-mysql-parser';
3
3
  export declare function inferParamNullabilityQuery(queryContext: SelectStatementContext | InsertQueryExpressionContext): boolean[];
4
4
  export declare function inferParamNullabilityQueryExpression(queryExpression: QueryExpressionContext): boolean[];
5
5
  export declare function inferParamNullability(exprContext: ExprContext): boolean[];
@@ -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,EAAE,4BAA4B,EAAiD,WAAW,EAAE,4BAA4B,EAAE,sBAAsB,EAAiF,sBAAsB,EAAqB,MAAM,0BAA0B,CAAC;AACpT,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,sBAAsB,GAAG,4BAA4B,GAAG,OAAO,EAAE,CAIzH;AAED,wBAAgB,oCAAoC,CAAC,eAAe,EAAE,sBAAsB,aAG3F;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,EAAE,CAGzE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAElF;AAsDD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,aAAa,EAAE,GAAG,GAAG,WAAW,GAAG,SAAS,CAS1G"}
1
+ {"version":3,"file":"infer-param-nullability.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,4BAA4B,EAG5B,KAAK,WAAW,EAChB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,wBAAgB,0BAA0B,CACzC,YAAY,EAAE,sBAAsB,GAAG,4BAA4B,GACjE,OAAO,EAAE,CAOX;AAED,wBAAgB,oCAAoC,CACnD,eAAe,EAAE,sBAAsB,aAIvC;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,EAAE,CAGzE;AAED,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,4BAA4B,GACjC,OAAO,CAET;AAoED,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,aAAa,EAAE,GAAG,GAChB,WAAW,GAAG,SAAS,CAQzB"}
@@ -5,18 +5,18 @@ const ts_mysql_parser_1 = require("@wsporto/ts-mysql-parser");
5
5
  const parse_1 = require("./parse");
6
6
  function inferParamNullabilityQuery(queryContext) {
7
7
  const queriesSpecification = (0, parse_1.getAllQuerySpecificationsFromSelectStatement)(queryContext);
8
- const parameters = queriesSpecification.flatMap(querySpec => getAllParameters(querySpec));
9
- return parameters.map(param => inferParameterNotNull(param));
8
+ const parameters = queriesSpecification.flatMap((querySpec) => getAllParameters(querySpec));
9
+ return parameters.map((param) => inferParameterNotNull(param));
10
10
  }
11
11
  exports.inferParamNullabilityQuery = inferParamNullabilityQuery;
12
12
  function inferParamNullabilityQueryExpression(queryExpression) {
13
13
  const parameters = getAllParameters(queryExpression);
14
- return parameters.map(param => inferParameterNotNull(param));
14
+ return parameters.map((param) => inferParameterNotNull(param));
15
15
  }
16
16
  exports.inferParamNullabilityQueryExpression = inferParamNullabilityQueryExpression;
17
17
  function inferParamNullability(exprContext) {
18
18
  const parameters = getAllParameters(exprContext);
19
- return parameters.map(param => inferParameterNotNull(param));
19
+ return parameters.map((param) => inferParameterNotNull(param));
20
20
  }
21
21
  exports.inferParamNullability = inferParamNullability;
22
22
  function inferParameterNotNull(param) {
@@ -25,27 +25,28 @@ function inferParameterNotNull(param) {
25
25
  exports.inferParameterNotNull = inferParameterNotNull;
26
26
  function inferParameterNotNullRule(rule) {
27
27
  var _a, _b;
28
- const isNullContext = getParentContext(rule, ts_mysql_parser_1.PrimaryExprIsNullContext);
28
+ const isNullContext = (getParentContext(rule, ts_mysql_parser_1.PrimaryExprIsNullContext));
29
29
  if (isNullContext) {
30
30
  if (isNullContext.notRule()) {
31
31
  return true;
32
32
  }
33
33
  return false;
34
34
  }
35
- const nullIfFunction = getParentContext(rule, ts_mysql_parser_1.FunctionCallContext);
35
+ const nullIfFunction = (getParentContext(rule, ts_mysql_parser_1.FunctionCallContext));
36
36
  const functionIdentifier = (_a = nullIfFunction === null || nullIfFunction === void 0 ? void 0 : nullIfFunction.pureIdentifier()) === null || _a === void 0 ? void 0 : _a.getText().toLowerCase();
37
- if (functionIdentifier == 'nullif') {
37
+ if (functionIdentifier === 'nullif') {
38
38
  const expressionList = (_b = nullIfFunction.udfExprList()) === null || _b === void 0 ? void 0 : _b.udfExpr_list();
39
- if (expressionList && expressionList.length == 2) {
39
+ if (expressionList && expressionList.length === 2) {
40
40
  const firstArg = expressionList[0];
41
41
  const secondArg = expressionList[1];
42
- if (firstArg.getText() == '?' && secondArg.getText().toLowerCase() == 'null') {
42
+ if (firstArg.getText() === '?' &&
43
+ secondArg.getText().toLowerCase() === 'null') {
43
44
  return false;
44
45
  }
45
46
  }
46
47
  return true;
47
48
  }
48
- if (functionIdentifier == 'ifnull') {
49
+ if (functionIdentifier === 'ifnull') {
49
50
  return false;
50
51
  }
51
52
  const parent = rule.parentCtx;
@@ -1 +1 @@
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
+ {"version":3,"file":"infer-param-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { QueryContext, QuerySpecificationContext, SelectStatementContext, SubqueryContext, QueryExpressionBodyContext, InsertQueryExpressionContext, ParseTree } from '@wsporto/ts-mysql-parser';
2
- import { ColumnSchema, TypeInferenceResult, QueryInfoResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult, ParameterInfo, ColumnDef } from './types';
1
+ import { type QueryContext, QuerySpecificationContext, type SelectStatementContext, type SubqueryContext, type QueryExpressionBodyContext, type InsertQueryExpressionContext, type ParseTree } from '@wsporto/ts-mysql-parser';
2
+ import type { ColumnSchema, TypeInferenceResult, QueryInfoResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult, ParameterInfo, ColumnDef } from './types';
3
3
  export declare function parse(sql: string): QueryContext;
4
4
  export declare function parseAndInfer(sql: string, dbSchema: ColumnSchema[]): TypeInferenceResult;
5
5
  export declare function parseAndInferParamNullability(sql: string): boolean[];
@@ -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,EAAE,sBAAsB,EAAE,eAAe,EAAgC,0BAA0B,EAAE,4BAA4B,EAAsH,SAAS,EAAmC,MAAM,0BAA0B,CAAC;AAE1Y,OAAO,EACH,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EACxG,aAAa,EAAc,SAAS,EACvC,MAAM,SAAS,CAAC;AAejB,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAO/C;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAsBxF;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAIpE;AAED,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,sBAAsB,YAO/E;AAED,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,sBAAsB,GAAG,aAAa,EAAE,CAU/F;AAED,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,sBAAsB,EAAE,WAAW,EAAE,SAAS,EAAE,WAwCpG;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,WA2BxD;AAED,wBAAgB,eAAe,CAAC,eAAe,EAAE,sBAAsB,2DAKtE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAmEhJ;AA4CD,wBAAgB,4CAA4C,CACxD,eAAe,EAAE,sBAAsB,GACjC,0BAA0B,GAC1B,4BAA4B,GAC5B,eAAe,+BAKxB"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"AAAA,OAAoB,EAEnB,KAAK,YAAY,EACjB,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EAMjC,KAAK,SAAS,EAGd,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACX,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EAEb,SAAS,EAET,MAAM,SAAS,CAAC;AAmBjB,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAO/C;AAGD,wBAAgB,aAAa,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY,EAAE,GACtB,mBAAmB,CAqBrB;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAIpE;AAED,wBAAgB,wBAAwB,CACvC,eAAe,EAAE,sBAAsB,YAWvC;AAED,wBAAgB,sBAAsB,CACrC,eAAe,EAAE,sBAAsB,GACrC,aAAa,EAAE,CAYjB;AAED,wBAAgB,mBAAmB,CAClC,eAAe,EAAE,sBAAsB,EACvC,WAAW,EAAE,SAAS,EAAE,WAiDxB;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,WAgCxD;AAED,wBAAgB,eAAe,CAAC,eAAe,EAAE,sBAAsB,2DAQtE;AAED,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY,EAAE,GACtB,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CA2E1E;AA8CD,wBAAgB,4CAA4C,CAC3D,eAAe,EACZ,sBAAsB,GACtB,0BAA0B,GAC1B,4BAA4B,GAC5B,eAAe,+BAMlB"}