typesql-cli 0.8.21 → 0.8.22
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 +1 -2
- package/mysql-query-analyzer/parse.d.ts.map +1 -1
- package/mysql-query-analyzer/parse.js +12 -13
- 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 +41 -43
- 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 +4 -3
- package/sqlite-query-analyzer/query-executor.d.ts.map +1 -1
- package/sqlite-query-analyzer/query-executor.js +3 -0
- package/sqlite-query-analyzer/query-executor.js.map +1 -1
- package/util.d.ts.map +1 -1
@@ -25,7 +25,6 @@ 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");
|
29
28
|
const collect_constraints_1 = require("./collect-constraints");
|
30
29
|
const infer_param_nullability_1 = require("./infer-param-nullability");
|
31
30
|
const describe_query_1 = require("../describe-query");
|
@@ -79,7 +78,7 @@ function parseAndInferParamNullability(sql) {
|
|
79
78
|
exports.parseAndInferParamNullability = parseAndInferParamNullability;
|
80
79
|
function extractOrderByParameters(selectStatement) {
|
81
80
|
var _a, _b;
|
82
|
-
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.orderClause()) === null || _b === void 0 ? void 0 : _b.orderList().
|
81
|
+
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.orderClause()) === null || _b === void 0 ? void 0 : _b.orderList().orderExpression_list().filter(orderExpr => orderExpr.getText() == '?').map(orderExpr => orderExpr.getText())) || [];
|
83
82
|
}
|
84
83
|
exports.extractOrderByParameters = extractOrderByParameters;
|
85
84
|
function extractLimitParameters(selectStatement) {
|
@@ -102,10 +101,10 @@ function isMultipleRowResult(selectStatement, fromColumns) {
|
|
102
101
|
if (!fromClause) {
|
103
102
|
return false;
|
104
103
|
}
|
105
|
-
if (querySpecs[0].selectItemList().
|
104
|
+
if (querySpecs[0].selectItemList().getChildCount() == 1) {
|
106
105
|
const selectItem = querySpecs[0].selectItemList().getChild(0);
|
107
106
|
//if selectItem = * (TerminalNode) childCount = 0; selectItem.expr() throws exception
|
108
|
-
const expr = selectItem.
|
107
|
+
const expr = selectItem.getChildCount() > 0 ? selectItem.expr() : null;
|
109
108
|
if (expr) {
|
110
109
|
//SUM, MAX... WITHOUT GROUP BY are multipleRowsResult = false
|
111
110
|
const groupBy = querySpecs[0].groupByClause();
|
@@ -114,7 +113,7 @@ function isMultipleRowResult(selectStatement, fromColumns) {
|
|
114
113
|
}
|
115
114
|
}
|
116
115
|
}
|
117
|
-
const joinedTable = (_a = fromClause.tableReferenceList()) === null || _a === void 0 ? void 0 : _a.tableReference()
|
116
|
+
const joinedTable = (_a = fromClause.tableReferenceList()) === null || _a === void 0 ? void 0 : _a.tableReference(0).joinedTable_list();
|
118
117
|
if (joinedTable && joinedTable.length > 0) {
|
119
118
|
return true;
|
120
119
|
}
|
@@ -125,10 +124,10 @@ function isMultipleRowResult(selectStatement, fromColumns) {
|
|
125
124
|
}
|
126
125
|
}
|
127
126
|
const limitOptions = getLimitOptions(selectStatement);
|
128
|
-
if (limitOptions.length == 1 && limitOptions[0].
|
127
|
+
if (limitOptions.length == 1 && limitOptions[0].getText() == '1') {
|
129
128
|
return false;
|
130
129
|
}
|
131
|
-
if (limitOptions.length == 2 && limitOptions[1].
|
130
|
+
if (limitOptions.length == 2 && limitOptions[1].getText() == '1') {
|
132
131
|
return false;
|
133
132
|
}
|
134
133
|
return true;
|
@@ -137,7 +136,7 @@ exports.isMultipleRowResult = isMultipleRowResult;
|
|
137
136
|
function isSumExpressContext(selectItem) {
|
138
137
|
var _a;
|
139
138
|
if (selectItem instanceof ts_mysql_parser_1.SimpleExprWindowingFunctionContext
|
140
|
-
|| selectItem instanceof
|
139
|
+
|| selectItem instanceof ts_mysql_parser_1.TerminalNode) {
|
141
140
|
return false;
|
142
141
|
}
|
143
142
|
if (selectItem instanceof ts_mysql_parser_1.SumExprContext) {
|
@@ -153,11 +152,11 @@ function isSumExpressContext(selectItem) {
|
|
153
152
|
}
|
154
153
|
//https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html
|
155
154
|
if (selectItem instanceof ts_mysql_parser_1.FunctionCallContext) {
|
156
|
-
if (((_a = selectItem.qualifiedIdentifier()) === null || _a === void 0 ? void 0 : _a.
|
155
|
+
if (((_a = selectItem.qualifiedIdentifier()) === null || _a === void 0 ? void 0 : _a.getText().toLowerCase()) == 'avg') {
|
157
156
|
return true;
|
158
157
|
}
|
159
158
|
}
|
160
|
-
if (selectItem.
|
159
|
+
if (selectItem instanceof ts_mysql_parser_1.ParserRuleContext && selectItem.getChildCount() == 1) {
|
161
160
|
return isSumExpressContext(selectItem.getChild(0));
|
162
161
|
}
|
163
162
|
return false;
|
@@ -165,7 +164,7 @@ function isSumExpressContext(selectItem) {
|
|
165
164
|
exports.isSumExpressContext = isSumExpressContext;
|
166
165
|
function getLimitOptions(selectStatement) {
|
167
166
|
var _a, _b;
|
168
|
-
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.limitClause()) === null || _b === void 0 ? void 0 : _b.limitOptions().
|
167
|
+
return ((_b = (_a = selectStatement.queryExpression()) === null || _a === void 0 ? void 0 : _a.limitClause()) === null || _b === void 0 ? void 0 : _b.limitOptions().limitOption_list()) || [];
|
169
168
|
}
|
170
169
|
exports.getLimitOptions = getLimitOptions;
|
171
170
|
function extractQueryInfo(sql, dbSchema) {
|
@@ -275,12 +274,12 @@ function getAllQuerySpecificationsFromSelectStatement(selectStatement) {
|
|
275
274
|
}
|
276
275
|
exports.getAllQuerySpecificationsFromSelectStatement = getAllQuerySpecificationsFromSelectStatement;
|
277
276
|
function collectAllQuerySpecifications(tree, result) {
|
278
|
-
for (let i = 0; i < tree.
|
277
|
+
for (let i = 0; i < tree.getChildCount(); i++) {
|
279
278
|
const child = tree.getChild(i);
|
280
279
|
if (child instanceof ts_mysql_parser_1.QuerySpecificationContext) {
|
281
280
|
result.push(child);
|
282
281
|
}
|
283
|
-
else {
|
282
|
+
else if (child instanceof ts_mysql_parser_1.ParserRuleContext) {
|
284
283
|
collectAllQuerySpecifications(child, result);
|
285
284
|
}
|
286
285
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { ParserRuleContext
|
2
|
-
import { ParseTree } from "
|
1
|
+
import { ParserRuleContext } from "@wsporto/ts-mysql-parser";
|
2
|
+
import { ParseTree } from "@wsporto/ts-mysql-parser";
|
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;
|
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: ParserRuleContext, 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: ParserRuleContext): 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,
|
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,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,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,UAMzD;AAED,KAAK,IAAI,GAAG;IACR,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACvB,CAAA;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE,CAK5E;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,iBAAiB,GAAG,SAAS,EAAE,CAKxE"}
|
@@ -1,9 +1,8 @@
|
|
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");
|
6
4
|
const ts_mysql_parser_1 = require("@wsporto/ts-mysql-parser");
|
5
|
+
const ts_mysql_parser_2 = require("@wsporto/ts-mysql-parser");
|
7
6
|
const collect_constraints_1 = require("./collect-constraints");
|
8
7
|
function includeColumn(column, table) {
|
9
8
|
var _a;
|
@@ -41,14 +40,14 @@ function selectAllColumns(tablePrefix, fromColumns) {
|
|
41
40
|
exports.selectAllColumns = selectAllColumns;
|
42
41
|
function getColumnName(selectItem) {
|
43
42
|
var _a, _b;
|
44
|
-
const alias = (_b = (_a = selectItem.selectAlias()) === null || _a === void 0 ? void 0 : _a.identifier()) === null || _b === void 0 ? void 0 : _b.
|
43
|
+
const alias = (_b = (_a = selectItem.selectAlias()) === null || _a === void 0 ? void 0 : _a.identifier()) === null || _b === void 0 ? void 0 : _b.getText();
|
45
44
|
if (alias) {
|
46
45
|
return alias;
|
47
46
|
}
|
48
47
|
const tokens = getSimpleExpressions(selectItem);
|
49
48
|
let columnName = extractOriginalSql(selectItem.expr()); //TODO VERIFICAR NULL
|
50
|
-
if (tokens.length == 1 && tokens[0] instanceof
|
51
|
-
return splitName(tokens[0].
|
49
|
+
if (tokens.length == 1 && tokens[0] instanceof ts_mysql_parser_2.SimpleExprColumnRefContext) {
|
50
|
+
return splitName(tokens[0].getText()).name;
|
52
51
|
}
|
53
52
|
return columnName;
|
54
53
|
}
|
@@ -57,7 +56,7 @@ function extractFieldsFromUsingClause(joinedTableContext) {
|
|
57
56
|
var _a;
|
58
57
|
const usingFieldsClause = (_a = joinedTableContext.identifierListWithParentheses()) === null || _a === void 0 ? void 0 : _a.identifierList();
|
59
58
|
if (usingFieldsClause) {
|
60
|
-
return usingFieldsClause.
|
59
|
+
return usingFieldsClause.getText().split(',').map(field => field.trim());
|
61
60
|
}
|
62
61
|
return [];
|
63
62
|
}
|
@@ -232,10 +231,9 @@ function findColumnOrNull(fieldName, columns) {
|
|
232
231
|
exports.findColumnOrNull = findColumnOrNull;
|
233
232
|
function extractOriginalSql(rule) {
|
234
233
|
var _a, _b;
|
235
|
-
const startIndex = rule.start.
|
236
|
-
const stopIndex = ((_a = rule.stop) === null || _a === void 0 ? void 0 : _a.
|
237
|
-
const
|
238
|
-
const result = (_b = rule.start.inputStream) === null || _b === void 0 ? void 0 : _b.getText(interval);
|
234
|
+
const startIndex = rule.start.start;
|
235
|
+
const stopIndex = ((_a = rule.stop) === null || _a === void 0 ? void 0 : _a.stop) || startIndex;
|
236
|
+
const result = (_b = rule.start.getInputStream()) === null || _b === void 0 ? void 0 : _b.getText(startIndex, stopIndex);
|
239
237
|
return result;
|
240
238
|
}
|
241
239
|
exports.extractOriginalSql = extractOriginalSql;
|
@@ -252,18 +250,18 @@ function collectExpr(tokens, parent, exprType, isSubQuery = false) {
|
|
252
250
|
isSubQuery
|
253
251
|
});
|
254
252
|
}
|
255
|
-
for (let i = 0; i < parent.
|
253
|
+
for (let i = 0; i < parent.getChildCount(); i++) {
|
256
254
|
const child = parent.getChild(i);
|
257
|
-
if (
|
258
|
-
collectExpr(tokens, child, exprType, (isSubQuery || child instanceof
|
255
|
+
if (child instanceof ts_mysql_parser_1.ParserRuleContext) {
|
256
|
+
collectExpr(tokens, child, exprType, (isSubQuery || child instanceof ts_mysql_parser_2.SimpleExprSubQueryContext));
|
259
257
|
}
|
260
258
|
}
|
261
259
|
}
|
262
260
|
function getTopLevelAndExpr(expr, all) {
|
263
|
-
if (expr instanceof
|
264
|
-
const exprLeft = expr.expr()
|
261
|
+
if (expr instanceof ts_mysql_parser_2.ExprAndContext || expr instanceof ts_mysql_parser_2.ExprXorContext || expr instanceof ts_mysql_parser_2.ExprOrContext) {
|
262
|
+
const exprLeft = expr.expr(0);
|
265
263
|
getTopLevelAndExpr(exprLeft, all);
|
266
|
-
const exprRight = expr.expr()
|
264
|
+
const exprRight = expr.expr(1);
|
267
265
|
all.push({
|
268
266
|
operator: 'AND',
|
269
267
|
expr: exprRight
|
@@ -287,38 +285,38 @@ function collectSimpleExpr(tokens, parent) {
|
|
287
285
|
if (isSimpleExpression(parent)) {
|
288
286
|
tokens.push(parent);
|
289
287
|
}
|
290
|
-
for (let i = 0; i < parent.
|
288
|
+
for (let i = 0; i < parent.getChildCount(); i++) {
|
291
289
|
const child = parent.getChild(i);
|
292
|
-
if (
|
290
|
+
if ((child instanceof ts_mysql_parser_1.ParserRuleContext)) {
|
293
291
|
collectSimpleExpr(tokens, child);
|
294
292
|
}
|
295
293
|
}
|
296
294
|
}
|
297
295
|
function isSimpleExpression(ctx) {
|
298
|
-
return 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
|
321
|
-
|| ctx instanceof
|
322
|
-
|| ctx instanceof
|
296
|
+
return ctx instanceof ts_mysql_parser_2.SimpleExprVariableContext
|
297
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprColumnRefContext
|
298
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprRuntimeFunctionContext
|
299
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprFunctionContext
|
300
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprCollateContext
|
301
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprLiteralContext
|
302
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprParamMarkerContext
|
303
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprSumContext
|
304
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprGroupingOperationContext
|
305
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprWindowingFunctionContext
|
306
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprConcatContext
|
307
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprUnaryContext
|
308
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprNotContext
|
309
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprListContext
|
310
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprSubQueryContext
|
311
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprOdbcContext
|
312
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprMatchContext
|
313
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprBinaryContext
|
314
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprCastContext
|
315
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprCaseContext
|
316
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprConvertContext
|
317
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprConvertUsingContext
|
318
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprDefaultContext
|
319
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprValuesContext
|
320
|
+
|| ctx instanceof ts_mysql_parser_2.SimpleExprIntervalContext;
|
323
321
|
}
|
324
322
|
//# 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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"}
|