@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.
- package/build/cli.js +21 -4
- 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
|
-
|
|
7378
|
-
const
|
|
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)
|
|
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.
|
|
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.
|
|
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.
|
|
41
|
+
"@abaplint/core": "^2.105.12",
|
|
42
42
|
"@types/chai": "^4.3.11",
|
|
43
|
-
"@types/glob": "^
|
|
43
|
+
"@types/glob": "^8.1.0",
|
|
44
44
|
"@types/minimist": "^1.2.5",
|
|
45
45
|
"@types/mocha": "^10.0.6",
|
|
46
|
-
"@types/node": "^20.
|
|
46
|
+
"@types/node": "^20.11.5",
|
|
47
47
|
"@types/progress": "^2.0.7",
|
|
48
|
-
"chai": "^4.4.
|
|
48
|
+
"chai": "^4.4.1",
|
|
49
49
|
"chalk": "^5.3.0",
|
|
50
50
|
"eslint": "^8.56.0",
|
|
51
51
|
"glob": "^7.2.3",
|