typesql-cli 0.5.6 → 0.5.7

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.
@@ -37,8 +37,8 @@ export declare function freshVar(name: string, typeVar: InferType, selectItem?:
37
37
  export type NamedNodes = {
38
38
  [key: string]: Type;
39
39
  };
40
- export declare function analiseTree(tree: RuleContext, dbSchema: ColumnSchema[], withSchema: ColumnSchema[], namedParameters: string[]): TypeInferenceResult;
41
- export declare function analiseInsertStatement(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[], withSchema: ColumnSchema[]): InsertInfoResult;
40
+ export declare function analiseTree(tree: RuleContext, context: InferenceContext, namedParameters: string[]): TypeInferenceResult;
41
+ export declare function analiseInsertStatement(insertStatement: InsertStatementContext, context: InferenceContext): InsertInfoResult;
42
42
  export declare function analiseDeleteStatement(deleteStatement: DeleteStatementContext, dbSchema: ColumnSchema[], withSchema: ColumnSchema[]): DeleteInfoResult;
43
43
  export declare function analiseUpdateStatement(updateStatement: UpdateStatementContext, dbSchema: ColumnSchema[], withSchema: ColumnSchema[]): UpdateInfoResult;
44
44
  export declare function getInsertColumns(insertStatement: InsertStatementContext, dbSchema: ColumnSchema[]): ColumnSchema[];
@@ -1 +1 @@
1
- {"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect-constraints.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
@@ -29,16 +29,16 @@ function freshVar(name, typeVar, selectItem, list) {
29
29
  return param;
30
30
  }
31
31
  exports.freshVar = freshVar;
32
- function analiseTree(tree, dbSchema, withSchema, namedParameters) {
32
+ function analiseTree(tree, context, namedParameters) {
33
33
  var _a, _b, _c;
34
34
  if (tree instanceof ts_mysql_parser_1.QueryContext) {
35
35
  const selectStatement = (_a = tree.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
36
36
  if (selectStatement) {
37
- return analiseSelectStatement(selectStatement, dbSchema, withSchema, namedParameters);
37
+ return analiseSelectStatement(selectStatement, context.dbSchema, context.withSchema, namedParameters);
38
38
  }
39
39
  const insertStatement = (_b = tree.simpleStatement()) === null || _b === void 0 ? void 0 : _b.insertStatement();
40
40
  if (insertStatement) {
41
- const insertStmt = analiseInsertStatement(insertStatement, dbSchema, withSchema);
41
+ const insertStmt = analiseInsertStatement(insertStatement, context);
42
42
  const TypeInfer = {
43
43
  columns: [],
44
44
  parameters: insertStmt.parameters.map(param => param.columnType)
@@ -47,7 +47,7 @@ function analiseTree(tree, dbSchema, withSchema, namedParameters) {
47
47
  }
48
48
  const updateStatement = (_c = tree.simpleStatement()) === null || _c === void 0 ? void 0 : _c.updateStatement();
49
49
  if (updateStatement) {
50
- const updateStmt = analiseUpdateStatement(updateStatement, dbSchema, withSchema);
50
+ const updateStmt = analiseUpdateStatement(updateStatement, context.dbSchema, context.withSchema);
51
51
  const TypeInfer = {
52
52
  columns: [],
53
53
  parameters: updateStmt.data.map(param => param.columnType)
@@ -58,35 +58,46 @@ function analiseTree(tree, dbSchema, withSchema, namedParameters) {
58
58
  throw Error('invalid type of tree');
59
59
  }
60
60
  exports.analiseTree = analiseTree;
61
- function analiseInsertStatement(insertStatement, dbSchema, withSchema) {
62
- var _a;
63
- const valuesContext = insertStatement.insertFromConstructor().insertValues().valueList().values()[0];
64
- const insertColumns = getInsertColumns(insertStatement, dbSchema);
61
+ function analiseInsertStatement(insertStatement, context) {
62
+ var _a, _b;
63
+ const insertColumns = getInsertColumns(insertStatement, context.dbSchema);
65
64
  const allParameters = [];
66
- const paramsNullability = [];
65
+ const paramsNullability = {};
67
66
  const exprOrDefaultList = [];
68
- valuesContext.DEFAULT_SYMBOL().forEach(terminalNode => {
69
- exprOrDefaultList.push(terminalNode);
70
- });
71
- valuesContext.expr().forEach(expr => {
72
- exprOrDefaultList.push(expr);
73
- });
67
+ const valuesContext = (_a = insertStatement.insertFromConstructor()) === null || _a === void 0 ? void 0 : _a.insertValues().valueList().values()[0];
68
+ if (valuesContext) {
69
+ valuesContext.DEFAULT_SYMBOL().forEach(terminalNode => {
70
+ exprOrDefaultList.push(terminalNode);
71
+ });
72
+ valuesContext.expr().forEach(expr => {
73
+ exprOrDefaultList.push(expr);
74
+ });
75
+ }
74
76
  //order the tokens based on sql position
75
77
  exprOrDefaultList.sort((token1, token2) => token1.sourceInterval.a - token2.sourceInterval.a);
76
- const context = {
77
- dbSchema,
78
- withSchema,
79
- constraints: [],
80
- parameters: [],
81
- fromColumns: []
82
- };
78
+ const insertIntoTable = getInsertIntoTable(insertStatement);
79
+ const fromColumns = context.dbSchema
80
+ .filter(c => c.table == insertIntoTable)
81
+ .map(c => {
82
+ const col = {
83
+ table: c.table,
84
+ column: c.column,
85
+ columnName: c.column,
86
+ columnType: c.column_type,
87
+ columnKey: "",
88
+ notNull: c.notNull
89
+ };
90
+ return col;
91
+ });
92
+ context.fromColumns = fromColumns;
83
93
  exprOrDefaultList.forEach((expr, index) => {
84
94
  const column = insertColumns[index];
85
95
  if (expr instanceof ts_mysql_parser_1.ExprContext) {
96
+ const numberParamsBefore = context.parameters.length;
86
97
  const exprType = walkExpr(context, expr);
87
- while (paramsNullability.length < context.parameters.length) {
88
- paramsNullability.push(column.notNull);
89
- }
98
+ context.parameters.slice(numberParamsBefore).forEach(param => {
99
+ paramsNullability[param.id] = column.notNull;
100
+ });
90
101
  context.constraints.push({
91
102
  expression: expr.text,
92
103
  type1: freshVar(column.column, column.column_type),
@@ -94,18 +105,18 @@ function analiseInsertStatement(insertStatement, dbSchema, withSchema) {
94
105
  });
95
106
  }
96
107
  });
97
- const updateList = ((_a = insertStatement.insertUpdateList()) === null || _a === void 0 ? void 0 : _a.updateList().updateElement()) || [];
98
- const insertIntoTable = getInsertIntoTable(insertStatement);
108
+ const updateList = ((_b = insertStatement.insertUpdateList()) === null || _b === void 0 ? void 0 : _b.updateList().updateElement()) || [];
99
109
  updateList.forEach(updateElement => {
100
110
  const columnName = updateElement.columnRef().text;
101
111
  const field = (0, select_columns_1.splitName)(columnName);
102
112
  const expr = updateElement.expr();
103
113
  if (expr) {
114
+ const numberParamsBefore = context.parameters.length;
104
115
  const exprType = walkExpr(context, expr);
105
- const column = (0, select_columns_1.findColumn2)(field, insertIntoTable, dbSchema);
106
- while (paramsNullability.length < context.parameters.length) {
107
- paramsNullability.push(column.notNull);
108
- }
116
+ const column = (0, select_columns_1.findColumn2)(field, insertIntoTable, context.dbSchema);
117
+ context.parameters.slice(numberParamsBefore).forEach(param => {
118
+ paramsNullability[param.id] = column.notNull;
119
+ });
109
120
  context.constraints.push({
110
121
  expression: expr.text,
111
122
  type1: exprType,
@@ -113,12 +124,35 @@ function analiseInsertStatement(insertStatement, dbSchema, withSchema) {
113
124
  });
114
125
  }
115
126
  });
127
+ const insertQueryExpression = insertStatement.insertQueryExpression();
128
+ if (insertQueryExpression) {
129
+ const numberParamsBefore = context.parameters.length;
130
+ const exprTypes = walkInsertQueryExpression(insertQueryExpression, context);
131
+ exprTypes.types.forEach((type, index) => {
132
+ const column = insertColumns[index];
133
+ if (type.kind == 'TypeVar') {
134
+ paramsNullability[type.id] = column.notNull;
135
+ }
136
+ context.constraints.push({
137
+ expression: insertQueryExpression.text,
138
+ type1: type,
139
+ type2: freshVar(column.column, column.column_type)
140
+ });
141
+ });
142
+ const paramNullabilityExpr = (0, infer_param_nullability_1.inferParamNullabilityQuery)(insertQueryExpression);
143
+ context.parameters.slice(numberParamsBefore).forEach((param, index) => {
144
+ if (paramsNullability[param.id] == null) {
145
+ paramsNullability[param.id] = paramNullabilityExpr[index];
146
+ }
147
+ });
148
+ }
116
149
  const typeInfo = generateTypeInfo(context.parameters, context.constraints);
117
150
  typeInfo.forEach((param, index) => {
151
+ const paramId = context.parameters[index].id;
118
152
  allParameters.push({
119
153
  name: 'param' + (allParameters.length + 1),
120
154
  columnType: (0, describe_query_1.verifyNotInferred)(param),
121
- notNull: paramsNullability[index]
155
+ notNull: paramsNullability[paramId]
122
156
  });
123
157
  });
124
158
  const typeInferenceResult = {
@@ -128,6 +162,50 @@ function analiseInsertStatement(insertStatement, dbSchema, withSchema) {
128
162
  return typeInferenceResult;
129
163
  }
130
164
  exports.analiseInsertStatement = analiseInsertStatement;
165
+ function walkInsertQueryExpression(insertQueryExpression, context) {
166
+ const queryExpressionOrParens = insertQueryExpression.queryExpressionOrParens();
167
+ return walkQueryExpressionOrParens(queryExpressionOrParens, context);
168
+ }
169
+ function walkQueryExpressionOrParens(queryExpressionOrParens, context) {
170
+ const queryExpression = queryExpressionOrParens.queryExpression();
171
+ if (queryExpression) {
172
+ return walkQueryExpression(queryExpression, context);
173
+ }
174
+ const queryEpressionParens = queryExpressionOrParens.queryExpressionParens();
175
+ if (queryEpressionParens) {
176
+ return walkQueryExpressionParens(queryEpressionParens);
177
+ }
178
+ throw Error("walkQueryExpressionOrParens");
179
+ }
180
+ function walkQueryExpression(queryExpression, context) {
181
+ const queryExpressionBody = queryExpression.queryExpressionBody();
182
+ if (queryExpressionBody) {
183
+ return walkQueryExpressionBody(queryExpressionBody, context);
184
+ }
185
+ const queryExpressionParens = queryExpression.queryExpressionParens();
186
+ if (queryExpressionParens) {
187
+ return walkQueryExpressionParens(queryExpressionParens);
188
+ }
189
+ throw Error("walkQueryExpression");
190
+ }
191
+ function walkQueryExpressionParens(queryExpressionParens) {
192
+ throw Error("walkQueryExpressionParens not implemented:" + queryExpressionParens.text);
193
+ }
194
+ function walkQueryExpressionBody(queryExpressionBody, context) {
195
+ const childQueryExpressionBody = queryExpressionBody.queryExpressionBody();
196
+ if (childQueryExpressionBody) {
197
+ return walkQueryExpressionBody(childQueryExpressionBody, context);
198
+ }
199
+ const queryExpressionParensList = queryExpressionBody.queryExpressionParens();
200
+ queryExpressionParensList.forEach(queryExpressionParens => {
201
+ return walkQueryExpressionParens(queryExpressionParens);
202
+ });
203
+ const querySpecification = queryExpressionBody.querySpecification();
204
+ if (querySpecification) {
205
+ return walkQuerySpecification(context, querySpecification);
206
+ }
207
+ throw Error("walkQueryExpressionBody");
208
+ }
131
209
  function analiseDeleteStatement(deleteStatement, dbSchema, withSchema) {
132
210
  var _a;
133
211
  const whereExpr = (_a = deleteStatement.whereClause()) === null || _a === void 0 ? void 0 : _a.expr();
@@ -227,9 +305,11 @@ function getInsertIntoTable(insertStatement) {
227
305
  return insertIntoTable;
228
306
  }
229
307
  function getInsertColumns(insertStatement, dbSchema) {
230
- var _a, _b;
308
+ var _a;
231
309
  const insertIntoTable = getInsertIntoTable(insertStatement);
232
- const fields = (_b = (_a = insertStatement.insertFromConstructor()) === null || _a === void 0 ? void 0 : _a.fields()) === null || _b === void 0 ? void 0 : _b.insertIdentifier().map(insertIdentifier => {
310
+ const insertFields = insertStatement.insertFromConstructor() ||
311
+ insertStatement.insertQueryExpression();
312
+ const fields = (_a = insertFields === null || insertFields === void 0 ? void 0 : insertFields.fields()) === null || _a === void 0 ? void 0 : _a.insertIdentifier().map(insertIdentifier => {
233
313
  const colRef = insertIdentifier.columnRef();
234
314
  if (colRef) {
235
315
  const fieldName = (0, select_columns_1.splitName)(colRef.text);
@@ -1447,7 +1527,7 @@ function walkSimpleExpr(context, simpleExpr) {
1447
1527
  }
1448
1528
  return freshVar('int', 'int');
1449
1529
  }
1450
- if (functionIdentifier == 'ifnull') {
1530
+ if (functionIdentifier == 'ifnull' || functionIdentifier == 'nullif') {
1451
1531
  const functionType = freshVar(simpleExpr.text, '?');
1452
1532
  const udfExprList = (_h = simpleExpr.functionCall().udfExprList()) === null || _h === void 0 ? void 0 : _h.udfExpr();
1453
1533
  if (udfExprList) {
@@ -1462,7 +1542,7 @@ function walkSimpleExpr(context, simpleExpr) {
1462
1542
  }
1463
1543
  return functionType;
1464
1544
  }
1465
- throw Error('Function not supported: ' + functionIdentifier); //TODO ifnull
1545
+ throw Error('Function not supported: ' + functionIdentifier);
1466
1546
  }
1467
1547
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprParamMarkerContext) {
1468
1548
  const param = freshVar('?', '?');
@@ -1 +1 @@
1
- {"version":3,"file":"collect-constraints.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect-constraints.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/collect-constraints.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { SimpleExprParamMarkerContext, QueryContext, ExprContext } from "ts-mysql-parser";
1
+ import { SimpleExprParamMarkerContext, ExprContext, InsertQueryExpressionContext, SelectStatementContext } from "ts-mysql-parser";
2
2
  import { RuleContext } from "antlr4ts";
3
- export declare function inferParamNullabilityQuery(queryContext: QueryContext): boolean[];
3
+ export declare function inferParamNullabilityQuery(queryContext: SelectStatementContext | InsertQueryExpressionContext): boolean[];
4
4
  export declare function inferParamNullability(exprContext: ExprContext): boolean[];
5
5
  export declare function inferParameterNotNull(param: SimpleExprParamMarkerContext): boolean;
6
6
  export declare function getParentContext(ctx: RuleContext | undefined, parentContext: any): RuleContext | undefined;
@@ -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,EAA6B,4BAA4B,EAAE,YAAY,EAAiD,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACpK,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,EAAE,CAShF;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,EAAE,CAGzE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAElF;AAmDD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,aAAa,EAAE,GAAG,GAAG,WAAW,GAAG,SAAS,CAS1G"}
1
+ {"version":3,"file":"infer-param-nullability.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAiD,WAAW,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACjL,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,sBAAsB,GAAG,4BAA4B,GAAG,OAAO,EAAE,CAIzH;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,EAAE,CAGzE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAElF;AAmDD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,aAAa,EAAE,GAAG,GAAG,WAAW,GAAG,SAAS,CAS1G"}
@@ -4,14 +4,9 @@ exports.getParentContext = exports.inferParameterNotNull = exports.inferParamNul
4
4
  const ts_mysql_parser_1 = require("ts-mysql-parser");
5
5
  const parse_1 = require("./parse");
6
6
  function inferParamNullabilityQuery(queryContext) {
7
- var _a;
8
- const selectStatement = (_a = queryContext.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
9
- if (selectStatement) {
10
- const queriesSpecification = (0, parse_1.getQuerySpecificationsFromSelectStatement)(selectStatement);
11
- const parameters = getAllParameters(queriesSpecification[0]);
12
- return parameters.map(param => inferParameterNotNull(param));
13
- }
14
- throw Error('invalid tree');
7
+ const queriesSpecification = (0, parse_1.getQuerySpecificationsFromSelectStatement)(queryContext);
8
+ const parameters = getAllParameters(queriesSpecification[0]);
9
+ return parameters.map(param => inferParameterNotNull(param));
15
10
  }
16
11
  exports.inferParamNullabilityQuery = inferParamNullabilityQuery;
17
12
  function inferParamNullability(exprContext) {
@@ -1 +1 @@
1
- {"version":3,"file":"infer-param-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infer-param-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-param-nullability.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { QueryContext, QuerySpecificationContext, SubqueryContext, QueryExpressionParensContext } from 'ts-mysql-parser';
1
+ import { QueryContext, QuerySpecificationContext, SelectStatementContext, SubqueryContext, QueryExpressionParensContext, QueryExpressionBodyContext, InsertQueryExpressionContext } from 'ts-mysql-parser';
2
2
  import { TypeVar } from './collect-constraints';
3
3
  import { ColumnSchema, TypeInferenceResult, QueryInfoResult, InsertInfoResult, UpdateInfoResult, DeleteInfoResult, TypeAndNullInferResult } from './types';
4
4
  export declare function parse(sql: string): QueryContext;
@@ -11,5 +11,5 @@ export declare function parseAndInferParamNullability(sql: string): boolean[];
11
11
  export declare function extractQueryInfoFromQuerySpecification(querySpec: QuerySpecificationContext, dbSchema: ColumnSchema[], withSchema: ColumnSchema[], namedParameters: string[]): TypeAndNullInferResult;
12
12
  export declare function extractQueryInfo(sql: string, dbSchema: ColumnSchema[]): QueryInfoResult | InsertInfoResult | UpdateInfoResult | DeleteInfoResult;
13
13
  export declare function analiseQuery(querySpec: QuerySpecificationContext[], dbSchema: ColumnSchema[], withSchema: ColumnSchema[], namedParameters: string[]): TypeAndNullInferResult;
14
- export declare function getQuerySpecificationsFromSelectStatement(selectStatement: any | QueryExpressionParensContext | SubqueryContext): QuerySpecificationContext[];
14
+ export declare function getQuerySpecificationsFromSelectStatement(selectStatement: SelectStatementContext | InsertQueryExpressionContext | QueryExpressionBodyContext | QueryExpressionParensContext | SubqueryContext): QuerySpecificationContext[];
15
15
  //# sourceMappingURL=parse.d.ts.map
@@ -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,EAA0B,eAAe,EAAqB,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAE1L,OAAO,EACU,OAAO,EAEvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAa,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EACnH,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAajB,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAO/C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3B,CAAA;AAID,wBAAgB,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAQtJ;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,GAAE,YAAY,EAAO,GAAG,mBAAmB,CAGzH;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAGpE;AAED,wBAAgB,sCAAsC,CAAC,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAgCpM;AAoDD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAiGhJ;AASD,wBAAgB,YAAY,CAAC,SAAS,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAgB5K;AAED,wBAAgB,yCAAyC,CAAC,eAAe,EAAE,GAAG,GAAG,4BAA4B,GAAG,eAAe,GAAG,yBAAyB,EAAE,CAK5J"}
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,EAAqB,4BAA4B,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAEpP,OAAO,EACU,OAAO,EAEvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAa,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EACnH,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAajB,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAO/C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3B,CAAA;AAID,wBAAgB,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAgBtJ;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,GAAE,YAAY,EAAO,GAAG,mBAAmB,CAGzH;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAIpE;AAED,wBAAgB,sCAAsC,CAAC,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAgCpM;AAoDD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAgGhJ;AASD,wBAAgB,YAAY,CAAC,SAAS,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAgB5K;AAED,wBAAgB,yCAAyC,CACrD,eAAe,EAAE,sBAAsB,GACjC,4BAA4B,GAC5B,0BAA0B,GAC1B,4BAA4B,GAC5B,eAAe,GAAG,yBAAyB,EAAE,CAKtD"}
@@ -44,7 +44,14 @@ function parse(sql) {
44
44
  }
45
45
  exports.parse = parse;
46
46
  function infer(queryContext, dbSchema, withSchema, namedParameters) {
47
- const typeInferenceResult = (0, collect_constraints_1.analiseTree)(queryContext, dbSchema, withSchema, namedParameters);
47
+ const context = {
48
+ dbSchema,
49
+ withSchema,
50
+ constraints: [],
51
+ parameters: [],
52
+ fromColumns: []
53
+ };
54
+ const typeInferenceResult = (0, collect_constraints_1.analiseTree)(queryContext, context, namedParameters);
48
55
  // const newTypeInference : TypeInferenceResult = {
49
56
  // columns: typeInferenceResult.columns.map( col => verifyNotInferred(col)),
50
57
  // parameters: typeInferenceResult.parameters.map(paramType => verifyNotInferred(paramType))
@@ -59,8 +66,10 @@ function parseAndInfer(sql, dbSchema, withSchema = []) {
59
66
  }
60
67
  exports.parseAndInfer = parseAndInfer;
61
68
  function parseAndInferParamNullability(sql) {
69
+ var _a;
62
70
  const queryContext = parse(sql);
63
- return (0, infer_param_nullability_1.inferParamNullabilityQuery)(queryContext);
71
+ const selectStatement = (_a = queryContext.simpleStatement()) === null || _a === void 0 ? void 0 : _a.selectStatement();
72
+ return (0, infer_param_nullability_1.inferParamNullabilityQuery)(selectStatement);
64
73
  }
65
74
  exports.parseAndInferParamNullability = parseAndInferParamNullability;
66
75
  function extractQueryInfoFromQuerySpecification(querySpec, dbSchema, withSchema, namedParameters) {
@@ -201,8 +210,7 @@ function extractQueryInfo(sql, dbSchema) {
201
210
  }
202
211
  const insertStatement = (_b = tree.simpleStatement()) === null || _b === void 0 ? void 0 : _b.insertStatement();
203
212
  if (insertStatement) {
204
- const insertColumns = (0, collect_constraints_1.getInsertColumns)(insertStatement, context.dbSchema);
205
- const typeInfer = (0, collect_constraints_1.analiseInsertStatement)(insertStatement, insertColumns, context.withSchema);
213
+ const typeInfer = (0, collect_constraints_1.analiseInsertStatement)(insertStatement, context);
206
214
  return typeInfer;
207
215
  }
208
216
  const updateStatement = (_c = tree.simpleStatement()) === null || _c === void 0 ? void 0 : _c.updateStatement();
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAA0L;AAE1L,+DAG+B;AAK/B,qDAAmF;AACnF,uEAA8F;AAC9F,yEAA0D;AAC1D,sDAAqE;AACrE,qEAAgE;AAGhE,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;QACzB,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;KAC5D;IAED,OAAO,WAAW,CAAC,IAAoB,CAAC;AAC5C,CAAC;AAPD,sBAOC;AAQD,SAAgB,KAAK,CAAC,YAA0B,EAAE,QAAwB,EAAE,UAA0B,EAAE,eAAyB;IAE7H,MAAM,mBAAmB,GAAG,IAAA,iCAAW,EAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC7F,mDAAmD;IACnD,gFAAgF;IAChF,gGAAgG;IAChG,IAAI;IACJ,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AARD,sBAQC;AAED,oCAAoC;AACpC,SAAgB,aAAa,CAAC,GAAW,EAAE,QAAwB,EAAE,aAA6B,EAAE;IAChG,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;AAC7E,CAAC;AAHD,sCAGC;AAED,SAAgB,6BAA6B,CAAC,GAAW;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,IAAA,oDAA0B,EAAC,YAAY,CAAC,CAAC;AACpD,CAAC;AAHD,sEAGC;AAED,SAAgB,sCAAsC,CAAC,SAAoC,EAAE,QAAwB,EAAE,UAA0B,EAAE,eAAyB;IACxK,MAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAA,+CAAyB,EAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAC7G,4CAA4C;IAC5C,MAAM,iBAAiB,GAAG,IAAA,uCAAY,EAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,IAAA,+BAAc,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAqB;YAC9B,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,aAAa;SACzB,CAAA;QACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,IAAA,+CAAqB,EAAC,SAAS,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjE,MAAM,SAAS,GAAqB;YAChC,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;SACjC,CAAA;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAA2B;QACxC,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,gBAAgB;KAC/B,CAAA;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAhCD,wFAgCC;AAED,SAAS,wBAAwB,CAAC,eAAuC;;IACrE,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;AAED,SAAS,sBAAsB,CAAC,eAAuC;IACnE,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;AAED,SAAS,mBAAmB,CAAC,eAAuC,EAAE,WAAwB;;IAC1F,MAAM,UAAU,GAAG,yCAAyC,CAAC,eAAe,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,6CAA6C;QACvE,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;YAC9B,OAAO,KAAK,CAAC;SAChB;KACJ;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;QACzD,OAAO,KAAK,CAAC;KAChB;IACD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE;QACzD,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,eAAuC;;IAC5D,OAAO,CAAA,MAAA,MAAA,eAAe,CAAC,eAAe,EAAE,0CAClC,WAAW,EAAE,0CACb,YAAY,GACb,WAAW,EAAE,KAAI,EAAE,CAAA;AAC5B,CAAC;AAED,iDAAiD;AACjD,SAAgB,gBAAgB,CAAC,GAAW,EAAE,QAAwB;;IAElE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAqB;QAC9B,QAAQ;QACR,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;KAClB,CAAA;IAED,IAAI,IAAI,YAAY,8BAAY,EAAE;QAC9B,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,eAAe,EAAE,0CAAE,eAAe,EAAE,CAAC;QAClE,IAAI,eAAe,EAAE;YAEjB,mBAAmB;YACnB,sBAAsB;YACtB,8BAA8B;YAC9B,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;YAC1D,IAAI,eAAe,EAAE;gBACjB,iBAAiB;gBACjB,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;gBAChD,MAAM,aAAa,GAAmB,EAAE,CAAC;gBACzC,MAAM,oBAAoB,GAAuB,EAAE,CAAC;gBACpD,IAAI,UAAU,EAAE;oBACZ,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACtE,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;wBACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACnE,MAAM,EAAE,EAAE;4BACV,KAAK,EAAE,gBAAgB,CAAC,UAAU;4BAClC,MAAM,EAAE,MAAM,CAAC,IAAI;4BACnB,WAAW,EAAE,MAAM,CAAC,IAAI;4BACxB,SAAS,EAAE,EAAE;4BACb,OAAO,EAAE,MAAM,CAAC,OAAO;yBACT,CAAA,CAAC,CAAA;wBACnB,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;wBAClC,oBAAoB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAA;iBACL;gBACD,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC;gBAEnC,MAAM,mBAAmB,GAAG,eAAe,CAAC,mBAAmB,EAAE,IAAI,eAAe,CAAC,qBAAqB,EAAE,CAAC;gBAC7G,IAAI,mBAAmB,EAAE;oBACrB,MAAM,SAAS,GAAG,yCAAyC,CAAC,mBAAmB,CAAC,CAAC;oBACjF,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBAEvG,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;oBACpE,MAAM,eAAe,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;oBAEhE,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU;yBAC3C,MAAM,CAAC,oBAAoB,CAAC;yBAC5B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAA,kCAAiB,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;yBAC/E,MAAM,CAAC,eAAe,CAAC,CAAC;oBAE7B,MAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBACvF,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;oBAE7E,MAAM,oBAAoB,GAAoB;wBAC1C,IAAI,EAAE,QAAQ;wBACd,kBAAkB,EAAE,kBAAkB;wBACtC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAA,kCAAiB,EAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAChI,UAAU,EAAE,aAAa;qBAC5B,CAAA;oBAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC1H,IAAI,cAAc,EAAE;wBAChB,oBAAoB,CAAC,cAAc,GAAG,cAAc,CAAC;qBACxD;oBAED,OAAO,oBAAoB,CAAC;iBAC/B;aAGJ;SACJ;QACD,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,eAAe,EAAE,0CAAE,eAAe,EAAE,CAAC;QAClE,IAAI,eAAe,EAAE;YACjB,MAAM,aAAa,GAAG,IAAA,sCAAgB,EAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,IAAA,4CAAsB,EAAC,eAAe,EAAE,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7F,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,eAAe,EAAE,0CAAE,eAAe,EAAE,CAAC;QAClE,IAAI,eAAe,EAAE;YACjB,MAAM,SAAS,GAAG,IAAA,4CAAsB,EAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAChG,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,eAAe,EAAE,0CAAE,eAAe,EAAE,CAAC;QAClE,IAAI,eAAe,EAAE;YACjB,MAAM,SAAS,GAAG,IAAA,4CAAsB,EAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAChG,OAAO,SAAS,CAAC;SACpB;KAEJ;IACD,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AAjGD,4CAiGC;AAED,SAAS,iBAAiB,CAAC,WAAwB,EAAE,aAAiC;IAClF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB;IACvF,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC3F,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,SAAgB,YAAY,CAAC,SAAsC,EAAE,QAAwB,EAAE,UAA0B,EAAE,eAAyB;IAEhJ,MAAM,eAAe,GAAG,sCAAsC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAEpH,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,qBAAqB;QAEzF,MAAM,WAAW,GAAG,sCAAsC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAEzH,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACnD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,6CAA6C;YAClG,KAAK,CAAC,IAAI,GAAG,IAAA,qCAAe,EAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAA;QACF,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;KAC9D;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC;AAhBD,oCAgBC;AAED,SAAgB,yCAAyC,CAAC,eAAqE;IAC3H,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,0BAA0B,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC;AAClB,CAAC;AALD,8FAKC;AAED,oBAAoB;AACpB,SAAS,0BAA0B,CAAC,IAAe,EAAE,MAAmC;IACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,YAAY,2CAAyB,EAAE;YAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtB;aACI;YACD,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SAC7C;KACJ;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,UAA6B,EAAE,QAAwB,EAAE,UAA0B;IAC1G,OAAO,UAAU,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE;QAClE,MAAM,UAAU,GAAG,qBAAqB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;QAC3D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,IAAA,gCAAe,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpE,OAAO;YACH,UAAU;YACV,WAAW;SACd,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typesql-cli",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {