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
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
exports.getAllQuerySpecificationsFromSelectStatement = exports.extractQueryInfo = exports.getLimitOptions = exports.isSumExpressContext = exports.isMultipleRowResult = exports.extractLimitParameters = exports.extractOrderByParameters = exports.parseAndInferParamNullability = exports.parseAndInfer = exports.parse = void 0;
|
27
27
|
const ts_mysql_parser_1 = __importStar(require("@wsporto/ts-mysql-parser"));
|
28
|
+
const tree_1 = require("antlr4ts/tree");
|
28
29
|
const collect_constraints_1 = require("./collect-constraints");
|
29
30
|
const infer_param_nullability_1 = require("./infer-param-nullability");
|
30
31
|
const describe_query_1 = require("../describe-query");
|
@@ -78,7 +79,7 @@ function parseAndInferParamNullability(sql) {
|
|
78
79
|
exports.parseAndInferParamNullability = parseAndInferParamNullability;
|
79
80
|
function extractOrderByParameters(selectStatement) {
|
80
81
|
var _a, _b;
|
81
|
-
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.orderClause()) === null || _b === void 0 ? void 0 : _b.orderList().
|
82
|
+
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.orderClause()) === null || _b === void 0 ? void 0 : _b.orderList().orderExpression().filter(orderExpr => orderExpr.text == '?').map(orderExpr => orderExpr.text)) || [];
|
82
83
|
}
|
83
84
|
exports.extractOrderByParameters = extractOrderByParameters;
|
84
85
|
function extractLimitParameters(selectStatement) {
|
@@ -101,10 +102,10 @@ function isMultipleRowResult(selectStatement, fromColumns) {
|
|
101
102
|
if (!fromClause) {
|
102
103
|
return false;
|
103
104
|
}
|
104
|
-
if (querySpecs[0].selectItemList().
|
105
|
+
if (querySpecs[0].selectItemList().childCount == 1) {
|
105
106
|
const selectItem = querySpecs[0].selectItemList().getChild(0);
|
106
107
|
//if selectItem = * (TerminalNode) childCount = 0; selectItem.expr() throws exception
|
107
|
-
const expr = selectItem.
|
108
|
+
const expr = selectItem.childCount > 0 ? selectItem.expr() : null;
|
108
109
|
if (expr) {
|
109
110
|
//SUM, MAX... WITHOUT GROUP BY are multipleRowsResult = false
|
110
111
|
const groupBy = querySpecs[0].groupByClause();
|
@@ -113,7 +114,7 @@ function isMultipleRowResult(selectStatement, fromColumns) {
|
|
113
114
|
}
|
114
115
|
}
|
115
116
|
}
|
116
|
-
const joinedTable = (_a = fromClause.tableReferenceList()) === null || _a === void 0 ? void 0 : _a.tableReference(0
|
117
|
+
const joinedTable = (_a = fromClause.tableReferenceList()) === null || _a === void 0 ? void 0 : _a.tableReference()[0].joinedTable();
|
117
118
|
if (joinedTable && joinedTable.length > 0) {
|
118
119
|
return true;
|
119
120
|
}
|
@@ -124,10 +125,10 @@ function isMultipleRowResult(selectStatement, fromColumns) {
|
|
124
125
|
}
|
125
126
|
}
|
126
127
|
const limitOptions = getLimitOptions(selectStatement);
|
127
|
-
if (limitOptions.length == 1 && limitOptions[0].
|
128
|
+
if (limitOptions.length == 1 && limitOptions[0].text == '1') {
|
128
129
|
return false;
|
129
130
|
}
|
130
|
-
if (limitOptions.length == 2 && limitOptions[1].
|
131
|
+
if (limitOptions.length == 2 && limitOptions[1].text == '1') {
|
131
132
|
return false;
|
132
133
|
}
|
133
134
|
return true;
|
@@ -136,7 +137,7 @@ exports.isMultipleRowResult = isMultipleRowResult;
|
|
136
137
|
function isSumExpressContext(selectItem) {
|
137
138
|
var _a;
|
138
139
|
if (selectItem instanceof ts_mysql_parser_1.SimpleExprWindowingFunctionContext
|
139
|
-
|| selectItem instanceof
|
140
|
+
|| selectItem instanceof tree_1.TerminalNode) {
|
140
141
|
return false;
|
141
142
|
}
|
142
143
|
if (selectItem instanceof ts_mysql_parser_1.SumExprContext) {
|
@@ -152,11 +153,11 @@ function isSumExpressContext(selectItem) {
|
|
152
153
|
}
|
153
154
|
//https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html
|
154
155
|
if (selectItem instanceof ts_mysql_parser_1.FunctionCallContext) {
|
155
|
-
if (((_a = selectItem.qualifiedIdentifier()) === null || _a === void 0 ? void 0 : _a.
|
156
|
+
if (((_a = selectItem.qualifiedIdentifier()) === null || _a === void 0 ? void 0 : _a.text.toLowerCase()) == 'avg') {
|
156
157
|
return true;
|
157
158
|
}
|
158
159
|
}
|
159
|
-
if (selectItem
|
160
|
+
if (selectItem.childCount == 1) {
|
160
161
|
return isSumExpressContext(selectItem.getChild(0));
|
161
162
|
}
|
162
163
|
return false;
|
@@ -164,7 +165,7 @@ function isSumExpressContext(selectItem) {
|
|
164
165
|
exports.isSumExpressContext = isSumExpressContext;
|
165
166
|
function getLimitOptions(selectStatement) {
|
166
167
|
var _a, _b;
|
167
|
-
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.limitClause()) === null || _b === void 0 ? void 0 : _b.limitOptions().
|
168
|
+
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.limitClause()) === null || _b === void 0 ? void 0 : _b.limitOptions().limitOption()) || [];
|
168
169
|
}
|
169
170
|
exports.getLimitOptions = getLimitOptions;
|
170
171
|
function extractQueryInfo(sql, dbSchema) {
|
@@ -274,12 +275,12 @@ function getAllQuerySpecificationsFromSelectStatement(selectStatement) {
|
|
274
275
|
}
|
275
276
|
exports.getAllQuerySpecificationsFromSelectStatement = getAllQuerySpecificationsFromSelectStatement;
|
276
277
|
function collectAllQuerySpecifications(tree, result) {
|
277
|
-
for (let i = 0; i < tree.
|
278
|
+
for (let i = 0; i < tree.childCount; i++) {
|
278
279
|
const child = tree.getChild(i);
|
279
280
|
if (child instanceof ts_mysql_parser_1.QuerySpecificationContext) {
|
280
281
|
result.push(child);
|
281
282
|
}
|
282
|
-
else
|
283
|
+
else {
|
283
284
|
collectAllQuerySpecifications(child, result);
|
284
285
|
}
|
285
286
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8V;AAC9V,wCAAwD;AACxD,+DAAmD;AAKnD,uEAAuE;AACvE,sDAAoF;AACpF,qEAAgE;AAChE,mCAAgC;AAChC,yCAAyE;AAEzE,oEAA8D;AAC9D,sEAAiE;AAEjE,MAAM,MAAM,GAAG,IAAI,yBAAW,CAAC;IAC3B,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,yBAAO,CAAC,MAAM;CACvB,CAAC,CAAA;AAEF,SAAgB,KAAK,CAAC,GAAW;IAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,WAAW,CAAC,IAAoB,CAAC;AAC5C,CAAC;AAPD,sBAOC;AAED,oCAAoC;AACpC,SAAgB,aAAa,CAAC,GAAW,EAAE,QAAwB;IAC/D,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC1B,OAAO;YACH,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACjD,CAAA;IACL,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC1B,OAAO;YACH,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SACvD,CAAA;IACL,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC1B,OAAO;YACH,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SACjD,CAAA;IACL,CAAC;IACD,MAAM,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;AAEzC,CAAC;AAtBD,sCAsBC;AAED,SAAgB,6BAA6B,CAAC,GAAW;;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,eAAe,GAAG,MAAA,YAAY,CAAC,eAAe,EAAE,0CAAE,eAAe,EAAG,CAAC;IAC3E,OAAO,IAAA,oDAA0B,EAAC,eAAe,CAAC,CAAC;AACvD,CAAC;AAJD,sEAIC;AAED,SAAgB,wBAAwB,CAAC,eAAuC;;IAC5E,OAAO,CAAA,MAAA,MAAA,eAAe,CAAC,eAAe,EAAE,0CAClC,WAAW,EAAE,0CACb,SAAS,GACV,eAAe,GACf,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EACzC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,EAAE,CAAC;AAChD,CAAC;AAPD,4DAOC;AAED,SAAgB,sBAAsB,CAAC,eAAuC;IAC1E,OAAO,eAAe,CAAC,eAAe,CAAC;SAClC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;SACrC,GAAG,CAAC,GAAG,EAAE;QACN,MAAM,SAAS,GAAkB;YAC7B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;SAChB,CAAA;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAVD,wDAUC;AAED,SAAgB,mBAAmB,CAAC,eAAuC,EAAE,WAAwB;;IACjG,MAAM,UAAU,GAAG,4CAA4C,CAAC,eAAe,CAAC,CAAC;IACjF,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,6CAA6C;QACvE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,UAAU,GAAsB,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjF,qFAAqF;YACrF,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,IAAI,IAAI,EAAE,CAAC;gBACP,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxC,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;QACD,MAAM,WAAW,GAAG,MAAA,UAAU,CAAC,kBAAkB,EAAE,0CAAE,cAAc,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC;QACvF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,eAAe,GAAG,MAAA,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,0CAAE,IAAI,EAAE,CAAC;QAC5D,MAAM,mBAAmB,GAAG,eAAe,IAAI,IAAA,6CAAoB,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAClG,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IACtD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAxCD,kDAwCC;AAED,SAAgB,mBAAmB,CAAC,UAAqB;;IACrD,IAAI,UAAU,YAAY,oDAAkC;WACrD,UAAU,YAAY,mBAAY,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,UAAU,YAAY,gCAAc,EAAE,CAAC;QACvC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,sDAAsD;YACtD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACtC,IAAI,KAAK,YAAY,wCAAsB,EAAE,CAAC;oBAC1C,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,kEAAkE;IAClE,IAAI,UAAU,YAAY,qCAAmB,EAAE,CAAC;QAC5C,IAAI,CAAA,MAAA,UAAU,CAAC,mBAAmB,EAAE,0CAAE,IAAI,CAAC,WAAW,EAAE,KAAI,KAAK,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AA3BD,kDA2BC;AAED,SAAgB,eAAe,CAAC,eAAuC;;IACnE,OAAO,CAAA,MAAA,MAAA,eAAe,CAAC,eAAe,EAAE,0CAClC,WAAW,EAAE,0CACb,YAAY,GACb,WAAW,EAAE,KAAI,EAAE,CAAA;AAC5B,CAAC;AALD,0CAKC;AAED,SAAgB,gBAAgB,CAAC,GAAW,EAAE,QAAwB;IAClE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,IAAA,8BAAa,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAG,IAAA,8BAAa,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAEjC,MAAM,cAAc,GAAG,IAAA,+BAAoB,EAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC7E,IAAI,cAAc,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,IAAA,0CAAkB,EAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;YAC9E,eAAe,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAClD,CAAC;QACD,IAAI,oBAAoB,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,IAAA,6CAAoB,EAAC,cAAc,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YAChI,eAAe,CAAC,YAAY,GAAG,YAAY,CAAC;QAChD,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,SAAS,GAAqB;YAChC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,cAAc,CAAC,UAAU;SACxC,CAAA;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,aAAa,GAAqB,EAAE,CAAA,CAAC,kBAAkB;QAC7D,IAAA,aAAK,EAAC,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,MAAM,UAAU,GAAG,IAAA,gCAAU,EAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC;YAClC,MAAM,OAAO,GAAiB;gBAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC;gBACzC,OAAO,EAAE,aAAa;aACzB,CAAA;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtD,MAAM,UAAU,GAAG,IAAA,gCAAU,EAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC;YAClC,MAAM,OAAO,GAAiB;gBAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC;gBACzC,OAAO,EAAE,aAAa;aACzB,CAAA;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAqB;YAChC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,WAAW;SAC1B,CAAA;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,SAAS,GAAqB;YAChC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,cAAc,CAAC,UAAU;SACxC,CAAA;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AAnED,4CAmEC;AAED,SAAS,sBAAsB,CAAC,cAAqC;IAEjE,MAAM,aAAa,GAAqB,EAAE,CAAA,CAAC,kBAAkB;IAC7D,IAAA,aAAK,EAAC,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEjD,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACpD,MAAM,UAAU,GAAG,IAAA,gCAAU,EAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC;QAClC,MAAM,OAAO,GAAe;YACxB,UAAU,EAAE,GAAG,CAAC,IAAI;YACpB,IAAI,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC;YACnC,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;SACnB,CAAA;QACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,IAAA,gCAAU,EAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;QACpC,MAAM,OAAO,GAAkB;YAC3B,0BAA0B;YAC1B,IAAI,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC;YACnC,OAAO,EAAE,aAAa;SACzB,CAAA;QACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;IAEzC,MAAM,oBAAoB,GAAoB;QAC1C,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,cAAc,CAAC,UAAU;QAC7C,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,YAAY;KAC3B,CAAA;IACD,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;QAChC,oBAAoB,CAAC,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;IACxE,CAAC;IAED,OAAO,oBAAoB,CAAC;AAEhC,CAAC;AAED,SAAgB,4CAA4C,CACxD,eAGqB;IACrB,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,6BAA6B,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC;AAClB,CAAC;AATD,oGASC;AAED,SAAS,6BAA6B,CAAC,IAAe,EAAE,MAAmC;IACvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,YAAY,2CAAyB,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aACI,CAAC;YACF,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;AACL,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { ParserRuleContext } from "
|
2
|
-
import { ParseTree } from "
|
1
|
+
import { ParserRuleContext, RuleContext } from "antlr4ts";
|
2
|
+
import { ParseTree } from "antlr4ts/tree";
|
3
3
|
import { JoinedTableContext, SelectItemContext, ExprContext } from '@wsporto/ts-mysql-parser';
|
4
4
|
import { ColumnDef, ColumnSchema, FieldName } from "./types";
|
5
5
|
export declare function includeColumn(column: ColumnDef, table: string): boolean;
|
@@ -12,17 +12,17 @@ export declare const functionAlias: ColumnSchema[];
|
|
12
12
|
export declare function findColumnSchema(tableName: string, columnName: string, dbSchema: ColumnSchema[]): ColumnSchema | undefined;
|
13
13
|
export declare function findColumn(fieldName: FieldName, columns: ColumnDef[]): ColumnDef;
|
14
14
|
export declare function findColumnOrNull(fieldName: FieldName, columns: ColumnDef[]): ColumnDef | undefined;
|
15
|
-
export declare function extractOriginalSql(rule: ParserRuleContext): string;
|
15
|
+
export declare function extractOriginalSql(rule: ParserRuleContext): string | undefined;
|
16
16
|
type Expr = {
|
17
17
|
expr: ParseTree;
|
18
18
|
isSubQuery: boolean;
|
19
19
|
};
|
20
|
-
export declare function getExpressions(ctx:
|
20
|
+
export declare function getExpressions(ctx: RuleContext, exprType: any): Expr[];
|
21
21
|
export type ExpressionAndOperator = {
|
22
22
|
operator: string;
|
23
23
|
expr: ExprContext;
|
24
24
|
};
|
25
25
|
export declare function getTopLevelAndExpr(expr: ExprContext, all: ExpressionAndOperator[]): void;
|
26
|
-
export declare function getSimpleExpressions(ctx:
|
26
|
+
export declare function getSimpleExpressions(ctx: RuleContext): ParseTree[];
|
27
27
|
export {};
|
28
28
|
//# sourceMappingURL=select-columns.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select-columns.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"select-columns.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AAGxD,OAAO,EACH,kBAAkB,EAIqH,iBAAiB,EAAE,WAAW,EACxK,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7D,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAE7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAuB9I;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAQ7E;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB,UAW1D;AAED,wBAAgB,4BAA4B,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAM7F;AAGD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAWtD;AAOD,eAAO,MAAM,aAAa,EAAE,YAAY,EAqHvC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,4BAI/F;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,CAOhF;AAMD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,CAqBlG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,sBAOzD;AAED,KAAK,IAAI,GAAG;IACR,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACvB,CAAA;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE,CAKtE;AAmBD,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;CACrB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAgBjF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,CAKlE"}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.getSimpleExpressions = exports.getTopLevelAndExpr = exports.getExpressions = exports.extractOriginalSql = exports.findColumnOrNull = exports.findColumn = exports.findColumnSchema = exports.functionAlias = exports.splitName = exports.extractFieldsFromUsingClause = exports.getColumnName = exports.selectAllColumns = exports.filterColumns = exports.includeColumn = void 0;
|
4
|
+
const tree_1 = require("antlr4ts/tree");
|
5
|
+
const Interval_1 = require("antlr4ts/misc/Interval");
|
4
6
|
const ts_mysql_parser_1 = require("@wsporto/ts-mysql-parser");
|
5
|
-
const ts_mysql_parser_2 = require("@wsporto/ts-mysql-parser");
|
6
7
|
const collect_constraints_1 = require("./collect-constraints");
|
7
8
|
function includeColumn(column, table) {
|
8
9
|
var _a;
|
@@ -40,14 +41,14 @@ function selectAllColumns(tablePrefix, fromColumns) {
|
|
40
41
|
exports.selectAllColumns = selectAllColumns;
|
41
42
|
function getColumnName(selectItem) {
|
42
43
|
var _a, _b;
|
43
|
-
const alias = (_b = (_a = selectItem.selectAlias()) === null || _a === void 0 ? void 0 : _a.identifier()) === null || _b === void 0 ? void 0 : _b.
|
44
|
+
const alias = (_b = (_a = selectItem.selectAlias()) === null || _a === void 0 ? void 0 : _a.identifier()) === null || _b === void 0 ? void 0 : _b.text;
|
44
45
|
if (alias) {
|
45
46
|
return alias;
|
46
47
|
}
|
47
48
|
const tokens = getSimpleExpressions(selectItem);
|
48
49
|
let columnName = extractOriginalSql(selectItem.expr()); //TODO VERIFICAR NULL
|
49
|
-
if (tokens.length == 1 && tokens[0] instanceof
|
50
|
-
return splitName(tokens[0].
|
50
|
+
if (tokens.length == 1 && tokens[0] instanceof ts_mysql_parser_1.SimpleExprColumnRefContext) {
|
51
|
+
return splitName(tokens[0].text).name;
|
51
52
|
}
|
52
53
|
return columnName;
|
53
54
|
}
|
@@ -56,7 +57,7 @@ function extractFieldsFromUsingClause(joinedTableContext) {
|
|
56
57
|
var _a;
|
57
58
|
const usingFieldsClause = (_a = joinedTableContext.identifierListWithParentheses()) === null || _a === void 0 ? void 0 : _a.identifierList();
|
58
59
|
if (usingFieldsClause) {
|
59
|
-
return usingFieldsClause.
|
60
|
+
return usingFieldsClause.text.split(',').map(field => field.trim());
|
60
61
|
}
|
61
62
|
return [];
|
62
63
|
}
|
@@ -231,9 +232,10 @@ function findColumnOrNull(fieldName, columns) {
|
|
231
232
|
exports.findColumnOrNull = findColumnOrNull;
|
232
233
|
function extractOriginalSql(rule) {
|
233
234
|
var _a, _b;
|
234
|
-
const startIndex = rule.start.
|
235
|
-
const stopIndex = ((_a = rule.stop) === null || _a === void 0 ? void 0 : _a.
|
236
|
-
const
|
235
|
+
const startIndex = rule.start.startIndex;
|
236
|
+
const stopIndex = ((_a = rule.stop) === null || _a === void 0 ? void 0 : _a.stopIndex) || startIndex;
|
237
|
+
const interval = new Interval_1.Interval(startIndex, stopIndex);
|
238
|
+
const result = (_b = rule.start.inputStream) === null || _b === void 0 ? void 0 : _b.getText(interval);
|
237
239
|
return result;
|
238
240
|
}
|
239
241
|
exports.extractOriginalSql = extractOriginalSql;
|
@@ -250,18 +252,18 @@ function collectExpr(tokens, parent, exprType, isSubQuery = false) {
|
|
250
252
|
isSubQuery
|
251
253
|
});
|
252
254
|
}
|
253
|
-
for (let i = 0; i < parent.
|
255
|
+
for (let i = 0; i < parent.childCount; i++) {
|
254
256
|
const child = parent.getChild(i);
|
255
|
-
if (child instanceof
|
256
|
-
collectExpr(tokens, child, exprType, (isSubQuery || child instanceof
|
257
|
+
if (!(child instanceof tree_1.TerminalNode)) {
|
258
|
+
collectExpr(tokens, child, exprType, (isSubQuery || child instanceof ts_mysql_parser_1.SimpleExprSubQueryContext));
|
257
259
|
}
|
258
260
|
}
|
259
261
|
}
|
260
262
|
function getTopLevelAndExpr(expr, all) {
|
261
|
-
if (expr instanceof
|
262
|
-
const exprLeft = expr.expr(0
|
263
|
+
if (expr instanceof ts_mysql_parser_1.ExprAndContext || expr instanceof ts_mysql_parser_1.ExprXorContext || expr instanceof ts_mysql_parser_1.ExprOrContext) {
|
264
|
+
const exprLeft = expr.expr()[0];
|
263
265
|
getTopLevelAndExpr(exprLeft, all);
|
264
|
-
const exprRight = expr.expr(1
|
266
|
+
const exprRight = expr.expr()[1];
|
265
267
|
all.push({
|
266
268
|
operator: 'AND',
|
267
269
|
expr: exprRight
|
@@ -285,38 +287,38 @@ function collectSimpleExpr(tokens, parent) {
|
|
285
287
|
if (isSimpleExpression(parent)) {
|
286
288
|
tokens.push(parent);
|
287
289
|
}
|
288
|
-
for (let i = 0; i < parent.
|
290
|
+
for (let i = 0; i < parent.childCount; i++) {
|
289
291
|
const child = parent.getChild(i);
|
290
|
-
if ((child instanceof
|
292
|
+
if (!(child instanceof tree_1.TerminalNode)) {
|
291
293
|
collectSimpleExpr(tokens, child);
|
292
294
|
}
|
293
295
|
}
|
294
296
|
}
|
295
297
|
function isSimpleExpression(ctx) {
|
296
|
-
return ctx instanceof
|
297
|
-
|| ctx instanceof
|
298
|
-
|| ctx instanceof
|
299
|
-
|| ctx instanceof
|
300
|
-
|| ctx instanceof
|
301
|
-
|| ctx instanceof
|
302
|
-
|| ctx instanceof
|
303
|
-
|| ctx instanceof
|
304
|
-
|| ctx instanceof
|
305
|
-
|| ctx instanceof
|
306
|
-
|| ctx instanceof
|
307
|
-
|| ctx instanceof
|
308
|
-
|| ctx instanceof
|
309
|
-
|| ctx instanceof
|
310
|
-
|| ctx instanceof
|
311
|
-
|| ctx instanceof
|
312
|
-
|| ctx instanceof
|
313
|
-
|| ctx instanceof
|
314
|
-
|| ctx instanceof
|
315
|
-
|| ctx instanceof
|
316
|
-
|| ctx instanceof
|
317
|
-
|| ctx instanceof
|
318
|
-
|| ctx instanceof
|
319
|
-
|| ctx instanceof
|
320
|
-
|| ctx instanceof
|
298
|
+
return ctx instanceof ts_mysql_parser_1.SimpleExprVariableContext
|
299
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprColumnRefContext
|
300
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprRuntimeFunctionContext
|
301
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprFunctionContext
|
302
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprCollateContext
|
303
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprLiteralContext
|
304
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprParamMarkerContext
|
305
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprSumContext
|
306
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprGroupingOperationContext
|
307
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprWindowingFunctionContext
|
308
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprConcatContext
|
309
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprUnaryContext
|
310
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprNotContext
|
311
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprListContext
|
312
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprSubQueryContext
|
313
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprOdbcContext
|
314
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprMatchContext
|
315
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprBinaryContext
|
316
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprCastContext
|
317
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprCaseContext
|
318
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprConvertContext
|
319
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprConvertUsingContext
|
320
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprDefaultContext
|
321
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprValuesContext
|
322
|
+
|| ctx instanceof ts_mysql_parser_1.SimpleExprIntervalContext;
|
321
323
|
}
|
322
324
|
//# sourceMappingURL=select-columns.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select-columns.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"select-columns.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"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"}
|