typesql-cli 0.10.0 → 0.10.1
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/cli.js +9 -20
- package/cli.js.map +1 -1
- package/code-generator.d.ts.map +1 -1
- package/code-generator.js +46 -111
- package/code-generator.js.map +1 -1
- package/describe-dynamic-query.d.ts.map +1 -1
- package/describe-dynamic-query.js +6 -13
- package/describe-dynamic-query.js.map +1 -1
- package/describe-nested-query.d.ts.map +1 -1
- package/describe-nested-query.js +11 -27
- package/describe-nested-query.js.map +1 -1
- package/describe-query.d.ts.map +1 -1
- package/describe-query.js +9 -18
- package/describe-query.js.map +1 -1
- package/drivers/libsql.d.ts.map +1 -1
- package/drivers/libsql.js +1 -2
- package/drivers/libsql.js.map +1 -1
- package/mysql-mapping.d.ts.map +1 -1
- package/mysql-mapping.js +4 -4
- package/mysql-mapping.js.map +1 -1
- package/mysql-query-analyzer/collect-constraints.d.ts.map +1 -1
- package/mysql-query-analyzer/collect-constraints.js +17 -24
- 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 +13 -29
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.js +8 -10
- package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +15 -20
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
- package/mysql-query-analyzer/select-columns.js +25 -43
- package/mysql-query-analyzer/select-columns.js.map +1 -1
- package/mysql-query-analyzer/traverse.d.ts.map +1 -1
- package/mysql-query-analyzer/traverse.js +61 -144
- package/mysql-query-analyzer/traverse.js.map +1 -1
- package/mysql-query-analyzer/types.d.ts.map +1 -1
- package/mysql-query-analyzer/unify.d.ts.map +1 -1
- package/mysql-query-analyzer/unify.js +13 -57
- package/mysql-query-analyzer/unify.js.map +1 -1
- package/mysql-query-analyzer/util.d.ts.map +1 -1
- package/mysql-query-analyzer/util.js +2 -3
- package/mysql-query-analyzer/util.js.map +1 -1
- package/mysql-query-analyzer/verify-multiple-result.d.ts.map +1 -1
- package/mysql-query-analyzer/verify-multiple-result.js +3 -7
- package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
- package/package.json +47 -46
- package/queryExectutor.d.ts.map +1 -1
- package/queryExectutor.js +37 -38
- package/queryExectutor.js.map +1 -1
- package/sql-generator.d.ts.map +1 -1
- package/sql-generator.js +5 -8
- package/sql-generator.js.map +1 -1
- package/sqlite-query-analyzer/code-generator.d.ts +2 -2
- package/sqlite-query-analyzer/code-generator.d.ts.map +1 -1
- package/sqlite-query-analyzer/code-generator.js +117 -219
- package/sqlite-query-analyzer/code-generator.js.map +1 -1
- package/sqlite-query-analyzer/parser.d.ts.map +1 -1
- package/sqlite-query-analyzer/parser.js +9 -23
- package/sqlite-query-analyzer/parser.js.map +1 -1
- package/sqlite-query-analyzer/query-executor.d.ts +1 -1
- package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
- package/sqlite-query-analyzer/query-executor.js +10 -15
- package/sqlite-query-analyzer/query-executor.js.map +1 -1
- package/sqlite-query-analyzer/replace-list-params.d.ts.map +1 -1
- package/sqlite-query-analyzer/replace-list-params.js +1 -2
- package/sqlite-query-analyzer/replace-list-params.js.map +1 -1
- package/sqlite-query-analyzer/sqlite-describe-nested-query.d.ts.map +1 -1
- package/sqlite-query-analyzer/sqlite-describe-nested-query.js +9 -22
- package/sqlite-query-analyzer/sqlite-describe-nested-query.js.map +1 -1
- package/sqlite-query-analyzer/traverse.d.ts.map +1 -1
- package/sqlite-query-analyzer/traverse.js +36 -95
- package/sqlite-query-analyzer/traverse.js.map +1 -1
- package/ts-dynamic-query-descriptor.d.ts.map +1 -1
- package/ts-dynamic-query-descriptor.js +3 -4
- package/ts-dynamic-query-descriptor.js.map +1 -1
- package/ts-nested-descriptor.d.ts.map +1 -1
- package/ts-nested-descriptor.js +2 -3
- package/ts-nested-descriptor.js.map +1 -1
- package/types.d.ts +6 -2
- package/types.d.ts.map +1 -1
- package/util.d.ts.map +1 -1
- package/util.js.map +1 -1
@@ -1,6 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.tryTraverse_Sql_stmtContext = tryTraverse_Sql_stmtContext;
|
4
|
+
exports.isNotNull = isNotNull;
|
5
|
+
exports.isMultipleRowResult = isMultipleRowResult;
|
4
6
|
const sqlite_1 = require("@wsporto/ts-mysql-parser/dist/sqlite");
|
5
7
|
const select_columns_1 = require("../mysql-query-analyzer/select-columns");
|
6
8
|
const collect_constraints_1 = require("../mysql-query-analyzer/collect-constraints");
|
@@ -42,7 +44,6 @@ function tryTraverse_Sql_stmtContext(sql_stmt, traverseContext) {
|
|
42
44
|
});
|
43
45
|
}
|
44
46
|
}
|
45
|
-
exports.tryTraverse_Sql_stmtContext = tryTraverse_Sql_stmtContext;
|
46
47
|
function traverse_select_stmt(select_stmt, traverseContext, subQuery = false, recursive = false, recursiveNames = []) {
|
47
48
|
const common_table_stmt = select_stmt.common_table_stmt();
|
48
49
|
if (common_table_stmt) {
|
@@ -50,16 +51,14 @@ function traverse_select_stmt(select_stmt, traverseContext, subQuery = false, re
|
|
50
51
|
const common_table_expression = common_table_stmt.common_table_expression_list();
|
51
52
|
common_table_expression.forEach((common_table_expression) => {
|
52
53
|
const table_name = common_table_expression.table_name();
|
53
|
-
const recursiveNames = common_table_expression
|
54
|
-
.column_name_list()
|
55
|
-
.map((column_name) => column_name.getText());
|
54
|
+
const recursiveNames = common_table_expression.column_name_list().map((column_name) => column_name.getText());
|
56
55
|
const select_stmt = common_table_expression.select_stmt();
|
57
56
|
const select_stmt_result = traverse_select_stmt(select_stmt, Object.assign(Object.assign({}, traverseContext), { subQuery: true }), subQuery, recursive, recursiveNames);
|
58
57
|
select_stmt_result.columns.forEach((col, index) => {
|
59
58
|
var _a;
|
60
59
|
traverseContext.withSchema.push({
|
61
60
|
table: table_name.getText(),
|
62
|
-
columnName: recursive ? (_a = recursiveNames[index]) !== null && _a !== void 0 ? _a : col.name : col.name,
|
61
|
+
columnName: recursive ? ((_a = recursiveNames[index]) !== null && _a !== void 0 ? _a : col.name) : col.name,
|
63
62
|
columnType: col.type,
|
64
63
|
columnKey: '',
|
65
64
|
notNull: col.notNull
|
@@ -177,9 +176,7 @@ function traverse_select_core(select_core, traverseContext, subQuery = false, re
|
|
177
176
|
columnsResult.push(...fields);
|
178
177
|
}
|
179
178
|
const result_column = select_core.result_column_list();
|
180
|
-
const fromColumns = subQuery || recursive
|
181
|
-
? traverseContext.fromColumns.concat(columnsResult)
|
182
|
-
: columnsResult;
|
179
|
+
const fromColumns = subQuery || recursive ? traverseContext.fromColumns.concat(columnsResult) : columnsResult;
|
183
180
|
result_column.forEach((result_column) => {
|
184
181
|
var _a, _b;
|
185
182
|
if (result_column.STAR()) {
|
@@ -210,9 +207,7 @@ function traverse_select_core(select_core, traverseContext, subQuery = false, re
|
|
210
207
|
const exprType = traverse_expr(expr, Object.assign(Object.assign({}, traverseContext), { fromColumns: fromColumns }));
|
211
208
|
if (alias) {
|
212
209
|
traverseContext.relations
|
213
|
-
.filter((relation) => relation.joinColumn === exprType.name &&
|
214
|
-
(relation.name === exprType.table ||
|
215
|
-
relation.alias === exprType.table))
|
210
|
+
.filter((relation) => relation.joinColumn === exprType.name && (relation.name === exprType.table || relation.alias === exprType.table))
|
216
211
|
.forEach((relation) => {
|
217
212
|
relation.joinColumn = alias;
|
218
213
|
});
|
@@ -266,9 +261,7 @@ function traverse_select_core(select_core, traverseContext, subQuery = false, re
|
|
266
261
|
traverse_expr(havingExpr, Object.assign(Object.assign({}, traverseContext), { fromColumns: newColumns.concat(fromColumns) }));
|
267
262
|
}
|
268
263
|
const querySpecification = {
|
269
|
-
columns: listType.map((col) => (Object.assign(Object.assign({}, col), { notNull: col.notNull ||
|
270
|
-
isNotNull(col.name, whereExpr) ||
|
271
|
-
isNotNull(col.name, havingExpr) }))),
|
264
|
+
columns: listType.map((col) => (Object.assign(Object.assign({}, col), { notNull: col.notNull || isNotNull(col.name, whereExpr) || isNotNull(col.name, havingExpr) }))),
|
272
265
|
fromColumns: columnsResult //TODO - return isMultipleRowResult instead
|
273
266
|
};
|
274
267
|
return querySpecification;
|
@@ -297,9 +290,7 @@ function traverse_table_or_subquery(table_or_subquery_list, join_constraint_list
|
|
297
290
|
table_or_subquery_list.forEach((table_or_subquery, index) => {
|
298
291
|
var _a, _b, _c, _d, _e;
|
299
292
|
const numParamsBefore = traverseContext.parameters.length;
|
300
|
-
const isLeftJoin = index > 0 && join_operator_list
|
301
|
-
? ((_a = join_operator_list[index - 1]) === null || _a === void 0 ? void 0 : _a.LEFT_()) != null
|
302
|
-
: false;
|
293
|
+
const isLeftJoin = index > 0 && join_operator_list ? ((_a = join_operator_list[index - 1]) === null || _a === void 0 ? void 0 : _a.LEFT_()) != null : false;
|
303
294
|
const table_name = table_or_subquery.table_name();
|
304
295
|
const table_alias_temp = ((_b = table_or_subquery.table_alias()) === null || _b === void 0 ? void 0 : _b.getText()) || '';
|
305
296
|
let tableOrSubqueryFields = [];
|
@@ -312,14 +303,10 @@ function traverse_table_or_subquery(table_or_subquery_list, join_constraint_list
|
|
312
303
|
table_alias_temp.toLowerCase() === 'cross'
|
313
304
|
? ''
|
314
305
|
: table_alias_temp;
|
315
|
-
const join_constraint = join_constraint_list && index > 0
|
316
|
-
? join_constraint_list[index - 1]
|
317
|
-
: undefined;
|
306
|
+
const join_constraint = join_constraint_list && index > 0 ? join_constraint_list[index - 1] : undefined;
|
318
307
|
const asAlias = table_or_subquery.AS_() || false;
|
319
308
|
const tableAlias = (_c = table_or_subquery.table_alias()) === null || _c === void 0 ? void 0 : _c.getText();
|
320
|
-
const tableOrSubqueryName = table_name
|
321
|
-
? table_name.any_name().getText()
|
322
|
-
: '';
|
309
|
+
const tableOrSubqueryName = table_name ? table_name.any_name().getText() : '';
|
323
310
|
const schema = ((_d = table_or_subquery.schema_name()) === null || _d === void 0 ? void 0 : _d.getText()) || '';
|
324
311
|
if (table_name) {
|
325
312
|
const tableName = {
|
@@ -327,12 +314,8 @@ function traverse_table_or_subquery(table_or_subquery_list, join_constraint_list
|
|
327
314
|
prefix: schema
|
328
315
|
};
|
329
316
|
tableOrSubqueryFields = (0, select_columns_1.filterColumns)(traverseContext.dbSchema, traverseContext.withSchema, table_alias, tableName);
|
330
|
-
const usingFields = (join_constraint === null || join_constraint === void 0 ? void 0 : join_constraint.USING_())
|
331
|
-
|
332
|
-
: [];
|
333
|
-
const filteredFields = usingFields.length > 0
|
334
|
-
? filterUsingFields(tableOrSubqueryFields, usingFields)
|
335
|
-
: tableOrSubqueryFields;
|
317
|
+
const usingFields = (join_constraint === null || join_constraint === void 0 ? void 0 : join_constraint.USING_()) ? join_constraint === null || join_constraint === void 0 ? void 0 : join_constraint.column_name_list().map((column_name) => column_name.getText()) : [];
|
318
|
+
const filteredFields = usingFields.length > 0 ? filterUsingFields(tableOrSubqueryFields, usingFields) : tableOrSubqueryFields;
|
336
319
|
if (isLeftJoin) {
|
337
320
|
allFields.push(...filteredFields.map((field) => (Object.assign(Object.assign({}, field), { notNull: false }))));
|
338
321
|
}
|
@@ -377,24 +360,17 @@ function traverse_table_or_subquery(table_or_subquery_list, join_constraint_list
|
|
377
360
|
traverse_expr(expr, Object.assign(Object.assign({}, traverseContext), { fromColumns: allFields }));
|
378
361
|
const allJoinColumsn = getAllColumns(expr);
|
379
362
|
allJoinColumsn.forEach((joinColumn) => {
|
380
|
-
const column = allFields.find((col) => col.columnName === joinColumn.name &&
|
381
|
-
|
382
|
-
col.table === joinColumn.prefix));
|
383
|
-
const filterUniqueKeys = allFields.filter((col) => (joinColumn.prefix === col.table ||
|
384
|
-
joinColumn.prefix === col.tableAlias) &&
|
385
|
-
col.columnKey === 'PRI');
|
363
|
+
const column = allFields.find((col) => col.columnName === joinColumn.name && (col.tableAlias === joinColumn.prefix || col.table === joinColumn.prefix));
|
364
|
+
const filterUniqueKeys = allFields.filter((col) => (joinColumn.prefix === col.table || joinColumn.prefix === col.tableAlias) && col.columnKey === 'PRI');
|
386
365
|
const compositeKey = filterUniqueKeys.find((uni) => uni.columnName === column.columnName);
|
387
|
-
const notUnique = (filterUniqueKeys.length > 1 && compositeKey) ||
|
388
|
-
|
389
|
-
if (joinColumn.prefix !== relation.name &&
|
390
|
-
joinColumn.prefix !== relation.alias) {
|
366
|
+
const notUnique = (filterUniqueKeys.length > 1 && compositeKey) || ((column === null || column === void 0 ? void 0 : column.columnKey) !== 'UNI' && (column === null || column === void 0 ? void 0 : column.columnKey) !== 'PRI');
|
367
|
+
if (joinColumn.prefix !== relation.name && joinColumn.prefix !== relation.alias) {
|
391
368
|
relation.parentRelation = joinColumn.prefix;
|
392
369
|
if (notUnique) {
|
393
370
|
relation.parentCardinality = 'many';
|
394
371
|
}
|
395
372
|
}
|
396
|
-
if (joinColumn.prefix === relation.name ||
|
397
|
-
joinColumn.prefix === relation.alias) {
|
373
|
+
if (joinColumn.prefix === relation.name || joinColumn.prefix === relation.alias) {
|
398
374
|
if (notUnique) {
|
399
375
|
relation.cardinality = 'many';
|
400
376
|
}
|
@@ -405,12 +381,8 @@ function traverse_table_or_subquery(table_or_subquery_list, join_constraint_list
|
|
405
381
|
if (!traverseContext.subQuery) {
|
406
382
|
traverseContext.relations.push(relation);
|
407
383
|
//dynamic query
|
408
|
-
const fragment = `${join_operator_list != null && index > 0
|
409
|
-
|
410
|
-
: 'FROM'} ${extractOriginalSql(table_or_subquery_list[index])}${join_constraint != null ? ` ${extractOriginalSql(join_constraint)}` : ''}`;
|
411
|
-
const params = traverseContext.parameters
|
412
|
-
.slice(numParamsBefore)
|
413
|
-
.map((_, index) => index + numParamsBefore);
|
384
|
+
const fragment = `${join_operator_list != null && index > 0 ? extractOriginalSql(join_operator_list[index - 1]) : 'FROM'} ${extractOriginalSql(table_or_subquery_list[index])}${join_constraint != null ? ` ${extractOriginalSql(join_constraint)}` : ''}`;
|
385
|
+
const params = traverseContext.parameters.slice(numParamsBefore).map((_, index) => index + numParamsBefore);
|
414
386
|
traverseContext.dynamicSqlInfo2.from.push({
|
415
387
|
fragment: fragment,
|
416
388
|
relationName: relation.name,
|
@@ -606,9 +578,7 @@ function traverse_expr(expr, traverseContext) {
|
|
606
578
|
table: functionType.table || ''
|
607
579
|
};
|
608
580
|
}
|
609
|
-
if (function_name === 'date' ||
|
610
|
-
function_name === 'time' ||
|
611
|
-
function_name === 'datetime') {
|
581
|
+
if (function_name === 'date' || function_name === 'time' || function_name === 'datetime') {
|
612
582
|
const functionType = (0, collect_constraints_1.freshVar)(expr.getText(), 'DATE');
|
613
583
|
const paramExpr = expr.expr(0);
|
614
584
|
const paramType = traverse_expr(paramExpr, traverseContext);
|
@@ -680,9 +650,7 @@ function traverse_expr(expr, traverseContext) {
|
|
680
650
|
table: functionType.table || ''
|
681
651
|
};
|
682
652
|
}
|
683
|
-
if (function_name === 'row_number' ||
|
684
|
-
function_name === 'rank' ||
|
685
|
-
function_name === 'dense_rank') {
|
653
|
+
if (function_name === 'row_number' || function_name === 'rank' || function_name === 'dense_rank') {
|
686
654
|
const functionType = (0, collect_constraints_1.freshVar)(expr.getText(), 'INTEGER');
|
687
655
|
return {
|
688
656
|
name: functionType.name,
|
@@ -868,8 +836,7 @@ function traverse_expr(expr, traverseContext) {
|
|
868
836
|
type1: returnType,
|
869
837
|
type2: typeLeft.type
|
870
838
|
});
|
871
|
-
const isDateFunctionContext = expr.parentCtx instanceof sqlite_1.ExprContext &&
|
872
|
-
((_b = expr.parentCtx.function_name()) === null || _b === void 0 ? void 0 : _b.getText().toLowerCase()) === 'date';
|
839
|
+
const isDateFunctionContext = expr.parentCtx instanceof sqlite_1.ExprContext && ((_b = expr.parentCtx.function_name()) === null || _b === void 0 ? void 0 : _b.getText().toLowerCase()) === 'date';
|
873
840
|
if (!isDateFunctionContext) {
|
874
841
|
traverseContext.constraints.push({
|
875
842
|
expression: exprRight.getText(),
|
@@ -1111,8 +1078,7 @@ function traverse_expr(expr, traverseContext) {
|
|
1111
1078
|
const whenTypes = [];
|
1112
1079
|
expr.expr_list().forEach((expr_, index) => {
|
1113
1080
|
const type = traverse_expr(expr_, traverseContext);
|
1114
|
-
if (index % 2 === 0 &&
|
1115
|
-
(!expr.ELSE_() || index < expr.expr_list().length - 1)) {
|
1081
|
+
if (index % 2 === 0 && (!expr.ELSE_() || index < expr.expr_list().length - 1)) {
|
1116
1082
|
whenTypes.push(type);
|
1117
1083
|
}
|
1118
1084
|
else {
|
@@ -1166,22 +1132,17 @@ function isNotNull(columnName, where) {
|
|
1166
1132
|
return false;
|
1167
1133
|
}
|
1168
1134
|
if (where.AND_()) {
|
1169
|
-
const ifNullList = where
|
1170
|
-
.expr_list()
|
1171
|
-
.map((expr) => isNotNull(columnName, expr));
|
1135
|
+
const ifNullList = where.expr_list().map((expr) => isNotNull(columnName, expr));
|
1172
1136
|
const result = ifNullList.some((v) => v);
|
1173
1137
|
return result;
|
1174
1138
|
}
|
1175
1139
|
if (where.OR_()) {
|
1176
|
-
const possibleNullList = where
|
1177
|
-
.expr_list()
|
1178
|
-
.map((expr) => isNotNull(columnName, expr));
|
1140
|
+
const possibleNullList = where.expr_list().map((expr) => isNotNull(columnName, expr));
|
1179
1141
|
const result = possibleNullList.every((v) => v);
|
1180
1142
|
return result;
|
1181
1143
|
}
|
1182
1144
|
return isNotNullExpr(columnName, where);
|
1183
1145
|
}
|
1184
|
-
exports.isNotNull = isNotNull;
|
1185
1146
|
function isNotNullExpr(columnName, expr) {
|
1186
1147
|
if (expr.OPEN_PAR() && expr.CLOSE_PAR()) {
|
1187
1148
|
const innerExpr = expr.expr(0);
|
@@ -1192,9 +1153,7 @@ function isNotNullExpr(columnName, expr) {
|
|
1192
1153
|
expr.GT_EQ() ||
|
1193
1154
|
expr.LT() ||
|
1194
1155
|
expr.LT_EQ() ||
|
1195
|
-
(expr.IS_() &&
|
1196
|
-
expr.expr_list().length === 2 &&
|
1197
|
-
expr.expr(1).getText() === 'notnull')) {
|
1156
|
+
(expr.IS_() && expr.expr_list().length === 2 && expr.expr(1).getText() === 'notnull')) {
|
1198
1157
|
const exprLeft = expr.expr(0);
|
1199
1158
|
const exprRight = expr.expr(1);
|
1200
1159
|
const column_name_left = exprLeft.column_name();
|
@@ -1217,22 +1176,16 @@ function isMultipleRowResult(select_stmt, fromColumns) {
|
|
1217
1176
|
if (!from) {
|
1218
1177
|
return false;
|
1219
1178
|
}
|
1220
|
-
const groupBy = select_stmt
|
1221
|
-
.select_core_list()
|
1222
|
-
.some((select_core) => select_core.GROUP_() != null);
|
1179
|
+
const groupBy = select_stmt.select_core_list().some((select_core) => select_core.GROUP_() != null);
|
1223
1180
|
if (groupBy) {
|
1224
1181
|
return true;
|
1225
1182
|
}
|
1226
|
-
const agreegateFunction = select_core
|
1227
|
-
.result_column_list()
|
1228
|
-
.some((result_column) => isAgregateFunction(result_column));
|
1183
|
+
const agreegateFunction = select_core.result_column_list().some((result_column) => isAgregateFunction(result_column));
|
1229
1184
|
if (agreegateFunction) {
|
1230
1185
|
return false;
|
1231
1186
|
}
|
1232
1187
|
const _whereExpr = select_core._whereExpr;
|
1233
|
-
const isSingleResult = select_core.join_clause() == null &&
|
1234
|
-
_whereExpr &&
|
1235
|
-
where_is_single_result(_whereExpr, fromColumns);
|
1188
|
+
const isSingleResult = select_core.join_clause() == null && _whereExpr && where_is_single_result(_whereExpr, fromColumns);
|
1236
1189
|
if (isSingleResult === true) {
|
1237
1190
|
return false;
|
1238
1191
|
}
|
@@ -1242,7 +1195,6 @@ function isMultipleRowResult(select_stmt, fromColumns) {
|
|
1242
1195
|
}
|
1243
1196
|
return true;
|
1244
1197
|
}
|
1245
|
-
exports.isMultipleRowResult = isMultipleRowResult;
|
1246
1198
|
function isAgregateFunction(result_column) {
|
1247
1199
|
var _a;
|
1248
1200
|
if (((_a = result_column.expr()) === null || _a === void 0 ? void 0 : _a.over_clause()) != null) {
|
@@ -1321,9 +1273,7 @@ function traverse_insert_stmt(insert_stmt, traverseContext) {
|
|
1321
1273
|
type1: col.columnType,
|
1322
1274
|
type2: exprType.type
|
1323
1275
|
});
|
1324
|
-
const notNullColumn = col.columnKey === 'PRI' && col.columnType.type === 'INTEGER'
|
1325
|
-
? false
|
1326
|
-
: col.notNull;
|
1276
|
+
const notNullColumn = col.columnKey === 'PRI' && col.columnType.type === 'INTEGER' ? false : col.notNull;
|
1327
1277
|
insertColumns.push(Object.assign(Object.assign({}, param), { notNull: exprType.name === '?' ? notNullColumn : param.notNull }));
|
1328
1278
|
});
|
1329
1279
|
});
|
@@ -1339,15 +1289,11 @@ function traverse_insert_stmt(insert_stmt, traverseContext) {
|
|
1339
1289
|
type1: col.columnType,
|
1340
1290
|
type2: selectColumn.type
|
1341
1291
|
});
|
1342
|
-
const notNullColumn = col.columnKey === 'PRI' && col.columnType.type === 'INTEGER'
|
1343
|
-
? false
|
1344
|
-
: col.notNull;
|
1292
|
+
const notNullColumn = col.columnKey === 'PRI' && col.columnType.type === 'INTEGER' ? false : col.notNull;
|
1345
1293
|
columnNullability.set(selectColumn.type.id, notNullColumn);
|
1346
1294
|
});
|
1347
1295
|
traverseContext.parameters.forEach((param) => {
|
1348
|
-
insertColumns.push(Object.assign(Object.assign({}, param), { notNull: columnNullability.get(param.type.id) != null
|
1349
|
-
? columnNullability.get(param.type.id)
|
1350
|
-
: param.notNull }));
|
1296
|
+
insertColumns.push(Object.assign(Object.assign({}, param), { notNull: columnNullability.get(param.type.id) != null ? columnNullability.get(param.type.id) : param.notNull }));
|
1351
1297
|
});
|
1352
1298
|
}
|
1353
1299
|
const upsert_clause = insert_stmt.upsert_clause();
|
@@ -1359,9 +1305,7 @@ function traverse_insert_stmt(insert_stmt, traverseContext) {
|
|
1359
1305
|
const col = traverse_column_name(column_name, null, Object.assign(Object.assign({}, traverseContext), { fromColumns }));
|
1360
1306
|
const expr = upsert_clause.expr(index);
|
1361
1307
|
const table_name = expr.table_name();
|
1362
|
-
const excludedColumns = table_name && table_name.getText() === 'excluded'
|
1363
|
-
? fromColumns.map((col) => (Object.assign(Object.assign({}, col), { table: 'excluded' })))
|
1364
|
-
: [];
|
1308
|
+
const excludedColumns = table_name && table_name.getText() === 'excluded' ? fromColumns.map((col) => (Object.assign(Object.assign({}, col), { table: 'excluded' }))) : [];
|
1365
1309
|
const exprType = traverse_expr(expr, Object.assign(Object.assign({}, traverseContext), { fromColumns: fromColumns.concat(excludedColumns) }));
|
1366
1310
|
traverseContext.constraints.push({
|
1367
1311
|
expression: column_name.getText(),
|
@@ -1374,9 +1318,7 @@ function traverse_insert_stmt(insert_stmt, traverseContext) {
|
|
1374
1318
|
});
|
1375
1319
|
}
|
1376
1320
|
const returning_clause = insert_stmt.returning_clause();
|
1377
|
-
const returninColumns = returning_clause
|
1378
|
-
? traverse_returning_clause(returning_clause, fromColumns)
|
1379
|
-
: [];
|
1321
|
+
const returninColumns = returning_clause ? traverse_returning_clause(returning_clause, fromColumns) : [];
|
1380
1322
|
const queryResult = {
|
1381
1323
|
queryType: 'Insert',
|
1382
1324
|
constraints: traverseContext.constraints,
|
@@ -1420,8 +1362,7 @@ function traverse_update_stmt(update_stmt, traverseContext) {
|
|
1420
1362
|
expr_list.forEach((expr, index) => {
|
1421
1363
|
paramsBefore = traverseContext.parameters.length;
|
1422
1364
|
const exprType = traverse_expr(expr, Object.assign(Object.assign({}, traverseContext), { fromColumns }));
|
1423
|
-
if (!update_stmt.WHERE_() ||
|
1424
|
-
expr.start.start < update_stmt.WHERE_().symbol.start) {
|
1365
|
+
if (!update_stmt.WHERE_() || expr.start.start < update_stmt.WHERE_().symbol.start) {
|
1425
1366
|
const col = columns[index];
|
1426
1367
|
traverseContext.constraints.push({
|
1427
1368
|
expression: expr.getText(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ts-dynamic-query-descriptor.d.ts","sourceRoot":"","sources":["../../src/ts-dynamic-query-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,yBAAyB,
|
1
|
+
{"version":3,"file":"ts-dynamic-query-descriptor.d.ts","sourceRoot":"","sources":["../../src/ts-dynamic-query-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAE3F;AAUD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAE3F;AAUD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAEpF"}
|
@@ -1,10 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.mapToDynamicSelectColumns = mapToDynamicSelectColumns;
|
4
|
+
exports.mapToDynamicResultColumns = mapToDynamicResultColumns;
|
5
|
+
exports.mapToDynamicParams = mapToDynamicParams;
|
4
6
|
function mapToDynamicSelectColumns(columns) {
|
5
7
|
return columns.map((column) => mapToSelectColumn(column));
|
6
8
|
}
|
7
|
-
exports.mapToDynamicSelectColumns = mapToDynamicSelectColumns;
|
8
9
|
function mapToSelectColumn(r) {
|
9
10
|
return {
|
10
11
|
name: r.name,
|
@@ -15,7 +16,6 @@ function mapToSelectColumn(r) {
|
|
15
16
|
function mapToDynamicResultColumns(columns) {
|
16
17
|
return columns.map((column) => mapToResultColumn(column));
|
17
18
|
}
|
18
|
-
exports.mapToDynamicResultColumns = mapToDynamicResultColumns;
|
19
19
|
function mapToResultColumn(r) {
|
20
20
|
return {
|
21
21
|
name: r.name,
|
@@ -26,7 +26,6 @@ function mapToResultColumn(r) {
|
|
26
26
|
function mapToDynamicParams(columns) {
|
27
27
|
return columns.map((column) => mapToDynamicParam(column));
|
28
28
|
}
|
29
|
-
exports.mapToDynamicParams = mapToDynamicParams;
|
30
29
|
function mapToDynamicParam(r) {
|
31
30
|
return {
|
32
31
|
name: r.name,
|