typesql-cli 0.8.14 → 0.8.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"describe-query.d.ts","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/F,OAAO,EAAE,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGpD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAiG5E;AAYD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAIjE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAuB1G;AAID,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,mBASxC;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAG5D"}
1
+ {"version":3,"file":"describe-query.d.ts","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/F,OAAO,EAAE,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGpD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAiG5E;AAYD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAIjE;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAuB1G;AAID,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,mBAuBxC;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAG5D"}
package/describe-query.js CHANGED
@@ -148,13 +148,26 @@ exports.parseSql = parseSql;
148
148
  //http://dev.mysql.com/doc/refman/8.0/en/identifiers.html
149
149
  //Permitted characters in unquoted identifiers: ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)
150
150
  function preprocessSql(sql) {
151
- var _a;
151
+ const lines = sql.split('\n');
152
152
  const regex = /:[a-zA-Z$_]+[a-zA-Z\d$_]*/g;
153
- const namedParameters = ((_a = sql.match(regex)) === null || _a === void 0 ? void 0 : _a.map(param => param.slice(1))) || [];
154
- const newSql = sql.replace(regex, '?');
153
+ let newSql = '';
154
+ const allParameters = [];
155
+ lines.forEach((line, index, array) => {
156
+ var _a;
157
+ let newLine = line;
158
+ if (!line.trim().startsWith('--')) {
159
+ const parameters = ((_a = line.match(regex)) === null || _a === void 0 ? void 0 : _a.map(param => param.slice(1))) || [];
160
+ allParameters.push(...parameters);
161
+ newLine = line.replace(regex, '?');
162
+ }
163
+ newSql += newLine;
164
+ if (index != (array.length - 1)) {
165
+ newSql += '\n';
166
+ }
167
+ });
155
168
  const processedSql = {
156
169
  sql: newSql,
157
- namedParameters
170
+ namedParameters: allParameters
158
171
  };
159
172
  return processedSql;
160
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"describe-query.js","sourceRoot":"","sources":["../../src/describe-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe-query.js","sourceRoot":"","sources":["../../src/describe-query.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.8.14",
3
+ "version": "0.8.15",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,EAA4N,MAAM,sCAAsC,CAAC;AAClU,OAAO,EAAE,SAAS,EAAa,eAAe,EAA2C,MAAM,+BAA+B,CAAC;AAG/H,OAAO,EAAsE,eAAe,EAAmC,MAAM,kCAAkC,CAAC;AAGxK,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GAAG,eAAe,CAuBrH;AAgzBD,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAiBhF;AA0BD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,WA0B5F"}
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,EAA4N,MAAM,sCAAsC,CAAC;AAClU,OAAO,EAAE,SAAS,EAAa,eAAe,EAA2C,MAAM,+BAA+B,CAAC;AAG/H,OAAO,EAAsE,eAAe,EAAmC,MAAM,kCAAkC,CAAC;AAGxK,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GAAG,eAAe,CAuBrH;AA21BD,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAiBhF;AA0BD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,WA0B5F"}
@@ -356,6 +356,47 @@ function traverse_expr(expr, traverseContext) {
356
356
  table: functionType.table || ''
357
357
  };
358
358
  }
359
+ if (function_name == 'group_concat') {
360
+ expr.expr_list().forEach(paramExpr => {
361
+ const param1Type = traverse_expr(paramExpr, traverseContext);
362
+ traverseContext.constraints.push({
363
+ expression: expr.getText(),
364
+ type1: (0, collect_constraints_1.freshVar)(expr.getText(), 'TEXT'),
365
+ type2: param1Type.type
366
+ });
367
+ });
368
+ return {
369
+ name: expr.getText(),
370
+ type: (0, collect_constraints_1.freshVar)(expr.getText(), 'TEXT'),
371
+ notNull: false,
372
+ table: ''
373
+ };
374
+ }
375
+ if (function_name == 'round') {
376
+ const functionType = (0, collect_constraints_1.freshVar)(expr.getText(), 'REAL');
377
+ const param1Expr = expr.expr(0);
378
+ const param1Type = traverse_expr(param1Expr, traverseContext);
379
+ traverseContext.constraints.push({
380
+ expression: expr.getText(),
381
+ type1: functionType,
382
+ type2: param1Type.type
383
+ });
384
+ const param2Expr = expr.expr(1);
385
+ if (param2Expr) {
386
+ const param2Type = traverse_expr(param2Expr, traverseContext);
387
+ traverseContext.constraints.push({
388
+ expression: expr.getText(),
389
+ type1: (0, collect_constraints_1.freshVar)(expr.getText(), 'INTEGER'),
390
+ type2: param2Type.type
391
+ });
392
+ }
393
+ return {
394
+ name: functionType.name,
395
+ type: functionType,
396
+ notNull: param1Type.notNull,
397
+ table: param1Type.table || ''
398
+ };
399
+ }
359
400
  if (function_name == 'coalesce') {
360
401
  const functionType = (0, collect_constraints_1.freshVar)(expr.getText(), '?');
361
402
  const paramTypes = expr.expr_list().map(paramExpr => {
@@ -684,7 +725,7 @@ function traverse_expr(expr, traverseContext) {
684
725
  table: type.table || ''
685
726
  };
686
727
  }
687
- if (expr.LIKE_()) {
728
+ if (expr.LIKE_() || expr.GLOB_()) {
688
729
  const exprLeft = expr.expr(0);
689
730
  const exprRight = expr.expr(1);
690
731
  const typeLeft = traverse_expr(exprLeft, traverseContext);
@@ -703,7 +744,7 @@ function traverse_expr(expr, traverseContext) {
703
744
  traverseContext.constraints.push({
704
745
  expression: expr.getText(),
705
746
  type1: typeLeft.type,
706
- type2: (0, collect_constraints_1.freshVar)('LIKE', 'TEXT')
747
+ type2: (0, collect_constraints_1.freshVar)(expr.getText(), 'TEXT')
707
748
  });
708
749
  const type = (0, collect_constraints_1.freshVar)(expr.getText(), 'INTEGER');
709
750
  return {
@@ -846,7 +887,7 @@ function isMultipleRowResult(select_stmt, fromColumns) {
846
887
  if (groupBy) {
847
888
  return true;
848
889
  }
849
- const agreegateFunction = select_core.result_column_list().every(result_column => isAgregateFunction(result_column));
890
+ const agreegateFunction = select_core.result_column_list().some(result_column => isAgregateFunction(result_column));
850
891
  if (agreegateFunction) {
851
892
  return false;
852
893
  }
@@ -863,16 +904,28 @@ function isMultipleRowResult(select_stmt, fromColumns) {
863
904
  }
864
905
  exports.isMultipleRowResult = isMultipleRowResult;
865
906
  function isAgregateFunction(result_column) {
866
- var _a, _b, _c;
907
+ var _a;
867
908
  if (((_a = result_column.expr()) === null || _a === void 0 ? void 0 : _a.over_clause()) != null) { //window function isMultipleRow = true
868
909
  return false;
869
910
  }
870
- const function_name = (_c = (_b = result_column.expr()) === null || _b === void 0 ? void 0 : _b.function_name()) === null || _c === void 0 ? void 0 : _c.getText().toLowerCase();
911
+ const expr = result_column.expr();
912
+ const isAgreg = expr && isAgregateFunctionExpr(expr);
913
+ return isAgreg;
914
+ }
915
+ function isAgregateFunctionExpr(expr) {
916
+ var _a;
917
+ //ex. min(value)/100, 100/min(value)
918
+ const isAgrr = expr.expr_list().some(expr => isAgregateFunctionExpr(expr));
919
+ if (isAgrr) {
920
+ return isAgrr;
921
+ }
922
+ const function_name = (_a = expr.function_name()) === null || _a === void 0 ? void 0 : _a.getText().toLowerCase();
871
923
  return function_name == 'count'
872
924
  || function_name == 'sum'
873
925
  || function_name == 'avg'
874
926
  || function_name == 'min'
875
- || function_name == 'max';
927
+ || function_name == 'max'
928
+ || function_name == 'group_concat';
876
929
  }
877
930
  function isLimitOne(select_stmt) {
878
931
  const limit_stmt = select_stmt.limit_stmt();
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}