@abaplint/cli 2.105.10 → 2.105.12

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.
Files changed (2) hide show
  1. package/build/cli.js +21 -4
  2. package/package.json +5 -5
package/build/cli.js CHANGED
@@ -7374,13 +7374,14 @@ class Select extends combi_1.Expression {
7374
7374
  const offset = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)("OFFSET", _1.SQLSource));
7375
7375
  const bypass = (0, combi_1.str)("BYPASSING BUFFER");
7376
7376
  const fields = (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields);
7377
- const perm = (0, combi_1.per)(_1.SQLFrom, into, _1.SQLForAllEntries, where, _1.SQLOrderBy, sql_up_to_1.SQLUpTo, offset, _1.SQLClient, _1.SQLHaving, bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection);
7378
- const permSingle = (0, combi_1.per)(_1.SQLFrom, (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList), where, _1.SQLClient, bypass, fields, _1.DatabaseConnection);
7377
+ // todo, HINTS cannot be anywhere, need an expression dedicated for strict sql
7378
+ const perm = (0, combi_1.per)(_1.SQLFrom, into, _1.SQLForAllEntries, where, _1.SQLOrderBy, sql_up_to_1.SQLUpTo, offset, _1.SQLClient, _1.SQLHaving, bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection, _1.SQLHints);
7379
+ const permSingle = (0, combi_1.per)(_1.SQLFrom, (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList), where, _1.SQLClient, bypass, fields, _1.DatabaseConnection, _1.SQLHints);
7379
7380
  const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), sql_field_name_1.SQLFieldName, (0, combi_1.tok)(tokens_1.WParenRightW));
7380
7381
  const fieldList = (0, combi_1.optPrio)((0, combi_1.altPrio)(_1.SQLFieldList, paren));
7381
7382
  const single = (0, combi_1.seq)("SINGLE", (0, combi_1.optPrio)("FOR UPDATE"), fieldList, permSingle);
7382
7383
  const other = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), fieldList, perm);
7383
- const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)(single, other), (0, combi_1.optPrio)(_1.SQLHints));
7384
+ const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)(single, other));
7384
7385
  return ret;
7385
7386
  }
7386
7387
  }
@@ -26798,6 +26799,9 @@ class Source {
26798
26799
  while (children.length >= 0) {
26799
26800
  if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.MethodCallChain) {
26800
26801
  context = new method_call_chain_1.MethodCallChain().runSyntax(first, scope, filename, targetType);
26802
+ if (context === undefined) {
26803
+ throw new Error("Method has no RETURNING value");
26804
+ }
26801
26805
  }
26802
26806
  else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.FieldChain) {
26803
26807
  context = new field_chain_1.FieldChain().runSyntax(first, scope, filename, type);
@@ -27002,6 +27006,19 @@ class SQLCompare {
27002
27006
  }
27003
27007
  sourceType = new sql_source_1.SQLSource().runSyntax(s, scope, filename);
27004
27008
  }
27009
+ const sqlin = node.findDirectExpression(Expressions.SQLIn);
27010
+ if (sqlin && sqlin.getChildren().length === 2) {
27011
+ const insource = node.findFirstExpression(Expressions.SQLSource);
27012
+ if (insource) {
27013
+ const intype = new sql_source_1.SQLSource().runSyntax(insource, scope, filename);
27014
+ if (intype &&
27015
+ !(intype instanceof basic_1.VoidType) &&
27016
+ !(intype instanceof basic_1.UnknownType) &&
27017
+ !(intype instanceof basic_1.TableType)) {
27018
+ throw new Error("IN, not a table");
27019
+ }
27020
+ }
27021
+ }
27005
27022
  const fieldName = (_a = node.findDirectExpression(Expressions.SQLFieldName)) === null || _a === void 0 ? void 0 : _a.concatTokens();
27006
27023
  if (fieldName && sourceType && token) {
27007
27024
  // check compatibility for rule sql_value_conversion
@@ -51125,7 +51142,7 @@ class Registry {
51125
51142
  }
51126
51143
  static abaplintVersion() {
51127
51144
  // magic, see build script "version.sh"
51128
- return "2.105.10";
51145
+ return "2.105.12";
51129
51146
  }
51130
51147
  getDDICReferences() {
51131
51148
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.105.10",
3
+ "version": "2.105.12",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,14 +38,14 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.105.10",
41
+ "@abaplint/core": "^2.105.12",
42
42
  "@types/chai": "^4.3.11",
43
- "@types/glob": "^7.2.0",
43
+ "@types/glob": "^8.1.0",
44
44
  "@types/minimist": "^1.2.5",
45
45
  "@types/mocha": "^10.0.6",
46
- "@types/node": "^20.10.8",
46
+ "@types/node": "^20.11.5",
47
47
  "@types/progress": "^2.0.7",
48
- "chai": "^4.4.0",
48
+ "chai": "^4.4.1",
49
49
  "chalk": "^5.3.0",
50
50
  "eslint": "^8.56.0",
51
51
  "glob": "^7.2.3",