typesql-cli 0.8.21-exp → 0.8.21
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/describe-nested-query.js +6 -6
- package/describe-nested-query.js.map +1 -1
- 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 +7 -7
- package/mysql-query-analyzer/collect-constraints.js.map +1 -1
- package/mysql-query-analyzer/infer-column-nullability.js +29 -29
- package/mysql-query-analyzer/infer-column-nullability.js.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts +1 -1
- package/mysql-query-analyzer/infer-param-nullability.d.ts.map +1 -1
- package/mysql-query-analyzer/infer-param-nullability.js +7 -7
- package/mysql-query-analyzer/infer-param-nullability.js.map +1 -1
- package/mysql-query-analyzer/parse.d.ts +2 -1
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +13 -12
- package/mysql-query-analyzer/parse.js.map +1 -1
- package/mysql-query-analyzer/select-columns.d.ts +5 -5
- package/mysql-query-analyzer/select-columns.d.ts.map +1 -1
- package/mysql-query-analyzer/select-columns.js +43 -41
- package/mysql-query-analyzer/select-columns.js.map +1 -1
- package/mysql-query-analyzer/traverse.js +152 -152
- package/mysql-query-analyzer/traverse.js.map +1 -1
- package/mysql-query-analyzer/verify-multiple-result.js +2 -2
- package/mysql-query-analyzer/verify-multiple-result.js.map +1 -1
- package/package.json +2 -2
- package/sqlite-query-analyzer/query-executor.d.ts +3 -4
- package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
- package/sqlite-query-analyzer/query-executor.js +0 -3
- package/sqlite-query-analyzer/query-executor.js.map +1 -1
- package/util.d.ts.map +1 -1
package/describe-nested-query.js
CHANGED
@@ -26,7 +26,7 @@ function generateNestedInfo(queryContext, dbSchema, columns) {
|
|
26
26
|
if (querySpec) {
|
27
27
|
const fromClause = querySpec.fromClause();
|
28
28
|
if (fromClause) {
|
29
|
-
const tableReferences = ((_b = fromClause.tableReferenceList()) === null || _b === void 0 ? void 0 : _b.
|
29
|
+
const tableReferences = ((_b = fromClause.tableReferenceList()) === null || _b === void 0 ? void 0 : _b.tableReference()) || [];
|
30
30
|
const modelColumns = tableReferences.map(tableRef => {
|
31
31
|
const nestedResultInfo = {
|
32
32
|
relations: getResult(tableRef, dbSchema, columns)
|
@@ -54,7 +54,7 @@ function getRelations(tableRef, dbSchema, columns) {
|
|
54
54
|
const tableName = getTableInfoFromTableFactor(tableFactor);
|
55
55
|
parentList.push(tableName);
|
56
56
|
}
|
57
|
-
const joinedTableList = tableRef.
|
57
|
+
const joinedTableList = tableRef.joinedTable();
|
58
58
|
joinedTableList.forEach(joined => {
|
59
59
|
const onClause = joined.expr();
|
60
60
|
const tableName = getTableInfoFromTableJoinedTable(joined);
|
@@ -136,7 +136,7 @@ function getParentRelations(onExpr, currentRelation, parentList) {
|
|
136
136
|
const tokens = getOnClauseTokens(onExpr);
|
137
137
|
for (const token of tokens) {
|
138
138
|
if (token instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
|
139
|
-
const fieldName = (0, select_columns_1.splitName)(token.
|
139
|
+
const fieldName = (0, select_columns_1.splitName)(token.text);
|
140
140
|
if (fieldName.prefix != currentRelation.alias && fieldName.prefix != currentRelation.name) {
|
141
141
|
const ref = parentList.find(p => p.name == fieldName.prefix || p.alias == fieldName.prefix);
|
142
142
|
result.push(ref);
|
@@ -161,8 +161,8 @@ function getTableInfoFromTableFactor(tableFactor) {
|
|
161
161
|
var _a, _b;
|
162
162
|
const singleTable = tableFactor.singleTable();
|
163
163
|
if (singleTable) {
|
164
|
-
const table = singleTable.tableRef().
|
165
|
-
const tableAlias = ((_a = singleTable === null || singleTable === void 0 ? void 0 : singleTable.tableAlias()) === null || _a === void 0 ? void 0 : _a.identifier().
|
164
|
+
const table = singleTable.tableRef().text;
|
165
|
+
const tableAlias = ((_a = singleTable === null || singleTable === void 0 ? void 0 : singleTable.tableAlias()) === null || _a === void 0 ? void 0 : _a.identifier().text) || '';
|
166
166
|
const asSymbol = ((_b = singleTable === null || singleTable === void 0 ? void 0 : singleTable.tableAlias()) === null || _b === void 0 ? void 0 : _b.AS_SYMBOL()) != null;
|
167
167
|
const tableName = (0, select_columns_1.splitName)(table);
|
168
168
|
const model = {
|
@@ -186,7 +186,7 @@ function verifyCardinality(expr, dbSchema, tableName) {
|
|
186
186
|
const tokens = getOnClauseTokens(expr);
|
187
187
|
for (const token of tokens) {
|
188
188
|
if (token instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
|
189
|
-
const fieldName = (0, select_columns_1.splitName)(token.
|
189
|
+
const fieldName = (0, select_columns_1.splitName)(token.text);
|
190
190
|
const column = (0, select_columns_1.findColumnSchema)(tableName, fieldName.name, dbSchema);
|
191
191
|
if (column != null && column.columnKey != 'PRI' && column.columnKey != 'UNI') {
|
192
192
|
return 'many';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"describe-nested-query.js","sourceRoot":"","sources":["../../src/describe-nested-query.ts"],"names":[],"mappings":";;;AAAA,8DAAgK;AAChK,wDAAuE;AACvE,0EAA0G;AAE1G,qDAAiD;AAoCjD,mBAAmB;AACnB,SAAgB,mBAAmB,CAAC,GAAW,EAAE,QAAwB;IACrE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,IAAA,aAAK,EAAC,YAAY,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAA,wBAAgB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,OAAO,kBAAkB,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAND,kDAMC;AAED,SAAgB,kBAAkB,CAAC,YAA0B,EAAE,QAAwB,EAAE,OAAqB;;IAE1G,MAAM,eAAe,GAAG,MAAA,YAAY,CAAC,eAAe,EAAE,0CAAE,eAAe,EAAE,CAAC;IAC1E,IAAI,eAAe,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;QAC1D,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,mBAAmB,GAAG,eAAe,CAAC,mBAAmB,EAAE,CAAC;YAClE,IAAI,mBAAmB,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;gBAC3D,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;oBAC1C,IAAI,UAAU,EAAE,CAAC;wBACb,MAAM,eAAe,GAAG,CAAA,MAAA,UAAU,CAAC,kBAAkB,EAAE,0CAAE,
|
1
|
+
{"version":3,"file":"describe-nested-query.js","sourceRoot":"","sources":["../../src/describe-nested-query.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { SimpleExprFunctionContext, ExprContext, InsertStatementContext, DeleteStatementContext } from '@wsporto/ts-mysql-parser';
|
2
2
|
import { ColumnSchema, ColumnDef, TypeVar, Type, Constraint, SubstitutionHash, TypeAndNullInfer } from "./types";
|
3
3
|
import { InferType } from "../mysql-mapping";
|
4
|
-
import TerminalNode from "
|
4
|
+
import { TerminalNode } from "antlr4ts/tree";
|
5
5
|
export declare function freshVar(name: string, typeVar: InferType, table?: string, list?: true): TypeVar;
|
6
6
|
export declare function createColumnType(col: ColumnDef): TypeVar;
|
7
7
|
export declare function createColumnTypeFomColumnSchema(col: ColumnSchema): TypeVar;
|
@@ -15,7 +15,7 @@ export declare function verifyDateTypesCoercion(type: Type): Type;
|
|
15
15
|
export declare function isTimeLiteral(literal: string): boolean;
|
16
16
|
export declare function isDateTimeLiteral(literal: string): boolean;
|
17
17
|
export declare function isDateLiteral(literal: string): boolean;
|
18
|
-
export declare function getFunctionName(simpleExprFunction: SimpleExprFunctionContext): string;
|
18
|
+
export declare function getFunctionName(simpleExprFunction: SimpleExprFunctionContext): string | undefined;
|
19
19
|
export type VariableLengthParams = {
|
20
20
|
kind: 'VariableLengthParams';
|
21
21
|
paramType: InferType;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,yBAAyB,EACzB,WAAW,EACX,sBAAsB,EAAE,sBAAsB,EACjD,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjH,OAAO,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,YAAY,MAAM,
|
1
|
+
{"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,yBAAyB,EACzB,WAAW,EACX,sBAAsB,EAAE,sBAAsB,EACjD,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjH,OAAO,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAY/F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,WAS9C;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,YAAY,WAShE;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,CAAC;AAGvD,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,sBAAsB,UAGzE;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,sBAAsB,EAAE,WAAW,EAAE,SAAS,EAAE,eAuBjG;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,sBAAsB,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAmB/G;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAOvG;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,GAAG,SAAS,CAqBpF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,QAajD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,WAE5C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,WAEhD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,WAE5C;AAED,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,yBAAyB,sBAG5E;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;CACxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,OAAO,EAAE,CAAC;CACzB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,iBAAiB,CAAC"}
|
@@ -45,7 +45,7 @@ function createColumnTypeFomColumnSchema(col) {
|
|
45
45
|
}
|
46
46
|
exports.createColumnTypeFomColumnSchema = createColumnTypeFomColumnSchema;
|
47
47
|
function getInsertIntoTable(insertStatement) {
|
48
|
-
const insertIntoTable = (0, select_columns_1.splitName)(insertStatement.tableRef().
|
48
|
+
const insertIntoTable = (0, select_columns_1.splitName)(insertStatement.tableRef().text).name;
|
49
49
|
return insertIntoTable;
|
50
50
|
}
|
51
51
|
exports.getInsertIntoTable = getInsertIntoTable;
|
@@ -54,10 +54,10 @@ function getInsertColumns(insertStatement, fromColumns) {
|
|
54
54
|
const insertIntoTable = getInsertIntoTable(insertStatement);
|
55
55
|
const insertFields = insertStatement.insertFromConstructor() ||
|
56
56
|
insertStatement.insertQueryExpression();
|
57
|
-
const fields = (_a = insertFields === null || insertFields === void 0 ? void 0 : insertFields.fields()) === null || _a === void 0 ? void 0 : _a.
|
57
|
+
const fields = (_a = insertFields === null || insertFields === void 0 ? void 0 : insertFields.fields()) === null || _a === void 0 ? void 0 : _a.insertIdentifier().map(insertIdentifier => {
|
58
58
|
const colRef = insertIdentifier.columnRef();
|
59
59
|
if (colRef) {
|
60
|
-
const fieldName = (0, select_columns_1.splitName)(colRef.
|
60
|
+
const fieldName = (0, select_columns_1.splitName)(colRef.text);
|
61
61
|
const column = (0, select_columns_1.findColumn)(fieldName, fromColumns);
|
62
62
|
return column;
|
63
63
|
}
|
@@ -73,8 +73,8 @@ exports.getInsertColumns = getInsertColumns;
|
|
73
73
|
function getDeleteColumns(deleteStatement, dbSchema) {
|
74
74
|
var _a, _b;
|
75
75
|
//TODO - Use extractColumnsFromTableReferences
|
76
|
-
const tableNameStr = (_a = deleteStatement.tableRef()) === null || _a === void 0 ? void 0 : _a.
|
77
|
-
const tableAlias = (_b = deleteStatement.tableAlias()) === null || _b === void 0 ? void 0 : _b.
|
76
|
+
const tableNameStr = (_a = deleteStatement.tableRef()) === null || _a === void 0 ? void 0 : _a.text;
|
77
|
+
const tableAlias = (_b = deleteStatement.tableAlias()) === null || _b === void 0 ? void 0 : _b.text;
|
78
78
|
const tableName = (0, select_columns_1.splitName)(tableNameStr).name;
|
79
79
|
const columns = dbSchema
|
80
80
|
.filter(col => col.table == tableName)
|
@@ -148,8 +148,8 @@ function isDateLiteral(literal) {
|
|
148
148
|
exports.isDateLiteral = isDateLiteral;
|
149
149
|
function getFunctionName(simpleExprFunction) {
|
150
150
|
var _a, _b;
|
151
|
-
return ((_a = simpleExprFunction.functionCall().pureIdentifier()) === null || _a === void 0 ? void 0 : _a.
|
152
|
-
|| ((_b = simpleExprFunction.functionCall().qualifiedIdentifier()) === null || _b === void 0 ? void 0 : _b.
|
151
|
+
return ((_a = simpleExprFunction.functionCall().pureIdentifier()) === null || _a === void 0 ? void 0 : _a.text.toLowerCase())
|
152
|
+
|| ((_b = simpleExprFunction.functionCall().qualifiedIdentifier()) === null || _b === void 0 ? void 0 : _b.text.toLowerCase());
|
153
153
|
}
|
154
154
|
exports.getFunctionName = getFunctionName;
|
155
155
|
//# sourceMappingURL=collect-constraints.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collect-constraints.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAS5B,qDAAyD;AAEzD,mCAAgC;AAGhC,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,SAAgB,QAAQ,CAAC,IAAY,EAAE,OAAkB,EAAE,KAAc,EAAE,IAAW;IAClF,MAAM,KAAK,GAAY;QACnB,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE;QAC1B,IAAI;QACJ,IAAI,EAAE,OAAO;QACb,KAAK;KACR,CAAA;IACD,IAAI,IAAI,EAAE,CAAC;QACP,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAZD,4BAYC;AAED,SAAgB,gBAAgB,CAAC,GAAc;IAC3C,MAAM,UAAU,GAAY;QACxB,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE;QAC1B,IAAI,EAAE,GAAG,CAAC,UAAU;QACpB,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI;QACzB,KAAK,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK;KACrC,CAAA;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AATD,4CASC;AAED,SAAgB,+BAA+B,CAAC,GAAiB;IAC7D,MAAM,UAAU,GAAY;QACxB,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,GAAG,CAAC,MAAM;QACd,IAAI,EAAE,GAAG,CAAC,MAAM;QAChB,IAAI,EAAE,GAAG,CAAC,WAAW;QACrB,KAAK,EAAE,GAAG,CAAC,KAAK;KACnB,CAAA;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AATD,0EASC;AAKD,SAAgB,kBAAkB,CAAC,eAAuC;IACtE,MAAM,eAAe,GAAG,IAAA,0BAAS,EAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,
|
1
|
+
{"version":3,"file":"collect-constraints.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
|
@@ -29,7 +29,7 @@ function inferNotNull(querySpec, dbSchema, fromColumns) {
|
|
29
29
|
notNullInference.push(notNull); //TODO infernot null in where?
|
30
30
|
});
|
31
31
|
}
|
32
|
-
querySpec.selectItemList().
|
32
|
+
querySpec.selectItemList().selectItem().forEach(selectItem => {
|
33
33
|
notNullInference.push(...inferNotNullSelectItem(selectItem, dbSchema, fromColumns, whereClause));
|
34
34
|
});
|
35
35
|
return notNullInference;
|
@@ -39,8 +39,8 @@ function inferNotNullSelectItem(selectItem, dbSchema, fromColumns, whereClause)
|
|
39
39
|
const notNullItems = [];
|
40
40
|
const tableWild = selectItem.tableWild();
|
41
41
|
if (tableWild === null || tableWild === void 0 ? void 0 : tableWild.MULT_OPERATOR()) {
|
42
|
-
tableWild.
|
43
|
-
const prefix = tabWild.
|
42
|
+
tableWild.identifier().forEach(tabWild => {
|
43
|
+
const prefix = tabWild.text;
|
44
44
|
const columns = (0, select_columns_1.selectAllColumns)(prefix, fromColumns);
|
45
45
|
columns.forEach(col => {
|
46
46
|
const field = (0, select_columns_1.splitName)(col.columnName);
|
@@ -85,7 +85,7 @@ function inferNotNullBoolPri(boolPri, dbSchema, fromColumns) {
|
|
85
85
|
throw Error('Error during column null inference');
|
86
86
|
}
|
87
87
|
function inferNotNullPredicate(predicate, dbSchema, fromColumns) {
|
88
|
-
const bitExpr = predicate.
|
88
|
+
const bitExpr = predicate.bitExpr();
|
89
89
|
if (bitExpr.length == 1) {
|
90
90
|
return inferNotNullBitExpr(bitExpr[0], dbSchema, fromColumns);
|
91
91
|
}
|
@@ -96,7 +96,7 @@ function inferNotNullBitExpr(bitExpr, dbSchema, fromColumns) {
|
|
96
96
|
if (simpleExpr) {
|
97
97
|
return inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns);
|
98
98
|
}
|
99
|
-
const bitExpr2 = bitExpr.
|
99
|
+
const bitExpr2 = bitExpr.bitExpr();
|
100
100
|
const notNull = bitExpr2.every(bitExprItem => inferNotNullBitExpr(bitExprItem, dbSchema, fromColumns));
|
101
101
|
return notNull;
|
102
102
|
}
|
@@ -105,7 +105,7 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
|
|
105
105
|
const querySpec = (0, infer_param_nullability_1.getParentContext)(simpleExpr, ts_mysql_parser_1.QuerySpecificationContext);
|
106
106
|
const whereClause = querySpec.whereClause();
|
107
107
|
if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
|
108
|
-
const columnName = simpleExpr.columnRef().fieldIdentifier().
|
108
|
+
const columnName = simpleExpr.columnRef().fieldIdentifier().text;
|
109
109
|
const fieldName = (0, select_columns_1.splitName)(columnName);
|
110
110
|
const column = (0, select_columns_1.findColumn)(fieldName, fromColumns);
|
111
111
|
if (column.notNull) {
|
@@ -141,7 +141,7 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
|
|
141
141
|
return true;
|
142
142
|
}
|
143
143
|
if (sumExpr.GROUP_CONCAT_SYMBOL()) {
|
144
|
-
const exprList = (_a = sumExpr.exprList()) === null || _a === void 0 ? void 0 : _a.
|
144
|
+
const exprList = (_a = sumExpr.exprList()) === null || _a === void 0 ? void 0 : _a.expr();
|
145
145
|
if (exprList) {
|
146
146
|
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
147
147
|
}
|
@@ -154,7 +154,7 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
|
|
154
154
|
}
|
155
155
|
}
|
156
156
|
if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprListContext) {
|
157
|
-
const exprList = simpleExpr.exprList().
|
157
|
+
const exprList = simpleExpr.exprList().expr();
|
158
158
|
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
159
159
|
}
|
160
160
|
if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprSubQueryContext) {
|
@@ -164,7 +164,7 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
|
|
164
164
|
return false;
|
165
165
|
}
|
166
166
|
if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprCaseContext) {
|
167
|
-
const thenExprList = simpleExpr.
|
167
|
+
const thenExprList = simpleExpr.thenExpression();
|
168
168
|
const elseExpr = simpleExpr.elseExpression();
|
169
169
|
if (elseExpr) {
|
170
170
|
let caseNotNull = thenExprList.every(thenExpr => inferNotNullExpr(thenExpr.expr(), dbSchema, fromColumns));
|
@@ -175,7 +175,7 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
|
|
175
175
|
}
|
176
176
|
}
|
177
177
|
if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprIntervalContext) {
|
178
|
-
const exprList = simpleExpr.
|
178
|
+
const exprList = simpleExpr.expr();
|
179
179
|
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
180
180
|
}
|
181
181
|
if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprWindowingFunctionContext) {
|
@@ -185,7 +185,7 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
|
|
185
185
|
const expr = simpleExpr.expr();
|
186
186
|
return inferNotNullExpr(expr, dbSchema, fromColumns);
|
187
187
|
}
|
188
|
-
throw Error('Error during column null inference. Expr: ' + simpleExpr.
|
188
|
+
throw Error('Error during column null inference. Expr: ' + simpleExpr.text);
|
189
189
|
}
|
190
190
|
function inferNotNullWindowFunctionCall(windowFunctionCall, dbSchema, fromColumns) {
|
191
191
|
if (windowFunctionCall.ROW_NUMBER_SYMBOL()
|
@@ -216,17 +216,17 @@ function inferNotNullRuntimeFunctionCall(simpleExprRuntimeFunction, dbSchema, fr
|
|
216
216
|
return false; //MOD(N,0) returns NULL.
|
217
217
|
}
|
218
218
|
if (functionCall.REPLACE_SYMBOL()) {
|
219
|
-
const exprList = functionCall.
|
219
|
+
const exprList = functionCall.expr();
|
220
220
|
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
221
221
|
}
|
222
222
|
const trimFunction = functionCall.trimFunction();
|
223
223
|
if (trimFunction) {
|
224
|
-
const exprList = trimFunction.
|
224
|
+
const exprList = trimFunction.expr();
|
225
225
|
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
226
226
|
}
|
227
227
|
const substringFunction = functionCall.substringFunction();
|
228
228
|
if (substringFunction) {
|
229
|
-
const exprList = substringFunction.
|
229
|
+
const exprList = substringFunction.expr();
|
230
230
|
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
231
231
|
}
|
232
232
|
if (functionCall.YEAR_SYMBOL() || functionCall.MONTH_SYMBOL() || functionCall.DAY_SYMBOL()
|
@@ -238,25 +238,25 @@ function inferNotNullRuntimeFunctionCall(simpleExprRuntimeFunction, dbSchema, fr
|
|
238
238
|
|| functionCall.SUBDATE_SYMBOL()
|
239
239
|
|| functionCall.DATE_ADD_SYMBOL()
|
240
240
|
|| functionCall.DATE_SUB_SYMBOL()) {
|
241
|
-
const exprList = functionCall.
|
241
|
+
const exprList = functionCall.expr();
|
242
242
|
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
243
243
|
}
|
244
244
|
if (functionCall.COALESCE_SYMBOL()) {
|
245
|
-
const exprList = (_b = functionCall.exprListWithParentheses()) === null || _b === void 0 ? void 0 : _b.exprList().
|
245
|
+
const exprList = (_b = functionCall.exprListWithParentheses()) === null || _b === void 0 ? void 0 : _b.exprList().expr();
|
246
246
|
//COALEST: Return the first non-null value in a list
|
247
247
|
return exprList.some(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
248
248
|
}
|
249
249
|
if (functionCall.IF_SYMBOL()) {
|
250
|
-
const exprList = functionCall.
|
250
|
+
const exprList = functionCall.expr();
|
251
251
|
return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
|
252
252
|
;
|
253
253
|
}
|
254
|
-
throw Error('Function not supported: ' + functionCall.
|
254
|
+
throw Error('Function not supported: ' + functionCall.text);
|
255
255
|
}
|
256
256
|
function inferNotNullFunctionCall(functionCall, dbSchema, fromColumns) {
|
257
257
|
var _a, _b, _c, _d;
|
258
|
-
const functionName = ((_a = functionCall.pureIdentifier()) === null || _a === void 0 ? void 0 : _a.
|
259
|
-
const udfExprList = (_c = functionCall.udfExprList()) === null || _c === void 0 ? void 0 : _c.
|
258
|
+
const functionName = ((_a = functionCall.pureIdentifier()) === null || _a === void 0 ? void 0 : _a.text.toLowerCase()) || ((_b = functionCall.qualifiedIdentifier()) === null || _b === void 0 ? void 0 : _b.text.toLowerCase());
|
259
|
+
const udfExprList = (_c = functionCall.udfExprList()) === null || _c === void 0 ? void 0 : _c.udfExpr();
|
260
260
|
if (functionName == 'ifnull') {
|
261
261
|
if (udfExprList) {
|
262
262
|
const [expr1, expr2] = udfExprList;
|
@@ -279,7 +279,7 @@ function inferNotNullFunctionCall(functionCall, dbSchema, fromColumns) {
|
|
279
279
|
return inferNotNullExpr(expr, dbSchema, fromColumns);
|
280
280
|
});
|
281
281
|
}
|
282
|
-
const exprList = (_d = functionCall.exprList()) === null || _d === void 0 ? void 0 : _d.
|
282
|
+
const exprList = (_d = functionCall.exprList()) === null || _d === void 0 ? void 0 : _d.expr();
|
283
283
|
if (exprList) {
|
284
284
|
return exprList.every(expr => {
|
285
285
|
return inferNotNullExpr(expr, dbSchema, fromColumns);
|
@@ -295,9 +295,9 @@ function possibleNull(field, exprContext) {
|
|
295
295
|
if (exprContext instanceof ts_mysql_parser_1.ExprIsContext) {
|
296
296
|
const boolPri = exprContext.boolPri();
|
297
297
|
if (boolPri instanceof ts_mysql_parser_1.PrimaryExprPredicateContext) {
|
298
|
-
const res = boolPri.predicate().bitExpr(0
|
298
|
+
const res = boolPri.predicate().bitExpr()[0].simpleExpr();
|
299
299
|
if (res instanceof ts_mysql_parser_1.SimpleExprListContext) {
|
300
|
-
const expr = res.exprList().expr(0
|
300
|
+
const expr = res.exprList().expr()[0];
|
301
301
|
return possibleNull(field, expr);
|
302
302
|
}
|
303
303
|
if (res instanceof ts_mysql_parser_1.SimpleExprSubQueryContext) { //exists, not exists
|
@@ -306,13 +306,13 @@ function possibleNull(field, exprContext) {
|
|
306
306
|
}
|
307
307
|
if (boolPri instanceof ts_mysql_parser_1.PrimaryExprIsNullContext) {
|
308
308
|
const compare = boolPri.boolPri();
|
309
|
-
if (boolPri.notRule() && areEquals(field, compare.
|
309
|
+
if (boolPri.notRule() && areEquals(field, compare.text)) {
|
310
310
|
return false; //possibleNull
|
311
311
|
}
|
312
312
|
}
|
313
313
|
if (boolPri instanceof ts_mysql_parser_1.PrimaryExprCompareContext) {
|
314
|
-
let compare = boolPri.boolPri().
|
315
|
-
let compare2 = boolPri.predicate().
|
314
|
+
let compare = boolPri.boolPri().text; //value > 10;
|
315
|
+
let compare2 = boolPri.predicate().text; //10 < value
|
316
316
|
//TODO - more complex expressions. ex. (value + value2) > 10;
|
317
317
|
if (areEquals(field, compare) || areEquals(field, compare2)) {
|
318
318
|
return false; //possibleNull
|
@@ -325,7 +325,7 @@ function possibleNull(field, exprContext) {
|
|
325
325
|
return possibleNull(field, expr);
|
326
326
|
}
|
327
327
|
if (exprContext instanceof ts_mysql_parser_1.ExprAndContext) {
|
328
|
-
const [first, ...rest] = exprContext.
|
328
|
+
const [first, ...rest] = exprContext.expr();
|
329
329
|
let possibleNullVar = possibleNull(field, first);
|
330
330
|
rest.forEach(expr => {
|
331
331
|
possibleNullVar = possibleNullVar && possibleNull(field, expr);
|
@@ -333,10 +333,10 @@ function possibleNull(field, exprContext) {
|
|
333
333
|
return possibleNullVar;
|
334
334
|
}
|
335
335
|
if (exprContext instanceof ts_mysql_parser_1.ExprXorContext) {
|
336
|
-
const expressions = exprContext.
|
336
|
+
const expressions = exprContext.expr();
|
337
337
|
}
|
338
338
|
if (exprContext instanceof ts_mysql_parser_1.ExprOrContext) {
|
339
|
-
const [first, ...rest] = exprContext.
|
339
|
+
const [first, ...rest] = exprContext.expr();
|
340
340
|
let possibleNullVar = possibleNull(field, first);
|
341
341
|
rest.forEach(expr => {
|
342
342
|
possibleNullVar = possibleNullVar || possibleNull(field, expr);
|
@@ -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,5 +1,5 @@
|
|
1
1
|
import { SimpleExprParamMarkerContext, ExprContext, InsertQueryExpressionContext, SelectStatementContext, QueryExpressionContext } from '@wsporto/ts-mysql-parser';
|
2
|
-
import { RuleContext } from "
|
2
|
+
import { RuleContext } from "antlr4ts";
|
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,
|
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,EAAE,MAAM,0BAA0B,CAAC;AACjS,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,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"}
|
@@ -33,13 +33,13 @@ function inferParameterNotNullRule(rule) {
|
|
33
33
|
return false;
|
34
34
|
}
|
35
35
|
const nullIfFunction = getParentContext(rule, ts_mysql_parser_1.FunctionCallContext);
|
36
|
-
const functionIdentifier = (_a = nullIfFunction === null || nullIfFunction === void 0 ? void 0 : nullIfFunction.pureIdentifier()) === null || _a === void 0 ? void 0 : _a.
|
36
|
+
const functionIdentifier = (_a = nullIfFunction === null || nullIfFunction === void 0 ? void 0 : nullIfFunction.pureIdentifier()) === null || _a === void 0 ? void 0 : _a.text.toLowerCase();
|
37
37
|
if (functionIdentifier == 'nullif') {
|
38
|
-
const expressionList = (_b = nullIfFunction.udfExprList()) === null || _b === void 0 ? void 0 : _b.
|
38
|
+
const expressionList = (_b = nullIfFunction.udfExprList()) === null || _b === void 0 ? void 0 : _b.udfExpr();
|
39
39
|
if (expressionList && expressionList.length == 2) {
|
40
40
|
const firstArg = expressionList[0];
|
41
41
|
const secondArg = expressionList[1];
|
42
|
-
if (firstArg.
|
42
|
+
if (firstArg.text == '?' && secondArg.text.toLowerCase() == 'null') {
|
43
43
|
return false;
|
44
44
|
}
|
45
45
|
}
|
@@ -48,7 +48,7 @@ function inferParameterNotNullRule(rule) {
|
|
48
48
|
if (functionIdentifier == 'ifnull') {
|
49
49
|
return false;
|
50
50
|
}
|
51
|
-
const parent = rule.
|
51
|
+
const parent = rule.parent;
|
52
52
|
if (parent) {
|
53
53
|
return inferParameterNotNullRule(parent);
|
54
54
|
}
|
@@ -60,12 +60,12 @@ function getAllParameters(tree) {
|
|
60
60
|
return result;
|
61
61
|
}
|
62
62
|
function collectSimpleExprParamMarker(tree, result) {
|
63
|
-
for (let i = 0; i < tree.
|
63
|
+
for (let i = 0; i < tree.childCount; i++) {
|
64
64
|
const child = tree.getChild(i);
|
65
65
|
if (child instanceof ts_mysql_parser_1.SimpleExprParamMarkerContext) {
|
66
66
|
result.push(child);
|
67
67
|
}
|
68
|
-
else
|
68
|
+
else {
|
69
69
|
collectSimpleExprParamMarker(child, result);
|
70
70
|
}
|
71
71
|
}
|
@@ -75,7 +75,7 @@ function getParentContext(ctx, parentContext) {
|
|
75
75
|
return ctx;
|
76
76
|
}
|
77
77
|
if (ctx) {
|
78
|
-
return getParentContext(ctx.
|
78
|
+
return getParentContext(ctx.parent, parentContext);
|
79
79
|
}
|
80
80
|
return undefined;
|
81
81
|
}
|
@@ -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,5 @@
|
|
1
|
-
import { QueryContext, QuerySpecificationContext, SelectStatementContext, SubqueryContext, QueryExpressionBodyContext, InsertQueryExpressionContext
|
1
|
+
import { QueryContext, QuerySpecificationContext, SelectStatementContext, SubqueryContext, QueryExpressionBodyContext, InsertQueryExpressionContext } from '@wsporto/ts-mysql-parser';
|
2
|
+
import { ParseTree } from "antlr4ts/tree";
|
2
3
|
import { ColumnSchema, TypeInferenceResult, QueryInfoResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult, ParameterInfo, ColumnDef } from './types';
|
3
4
|
export declare function parse(sql: string): QueryContext;
|
4
5
|
export declare function parseAndInfer(sql: string, dbSchema: ColumnSchema[]): TypeInferenceResult;
|
@@ -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,
|
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,MAAM,0BAA0B,CAAC;AAC9V,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AAExD,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"}
|