@abaplint/core 2.113.42 → 2.113.44
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/abaplint.d.ts +6 -1
- package/build/src/abap/2_statements/expressions/index.js +2 -1
- package/build/src/abap/2_statements/expressions/select_loop.js +2 -1
- package/build/src/abap/2_statements/expressions/sql_fields_loop.js +12 -0
- package/build/src/cds/expressions/cds_condition.js +2 -2
- package/build/src/cds/expressions/cds_select.js +3 -3
- package/build/src/registry.js +1 -1
- package/package.json +2 -2
package/build/abaplint.d.ts
CHANGED
|
@@ -2329,12 +2329,13 @@ declare namespace Expressions {
|
|
|
2329
2329
|
SQLFieldList,
|
|
2330
2330
|
SQLFieldName,
|
|
2331
2331
|
SQLField,
|
|
2332
|
+
SQLFieldsLoop,
|
|
2332
2333
|
SQLFields,
|
|
2333
2334
|
SQLForAllEntries,
|
|
2334
2335
|
SQLFromSource,
|
|
2335
2336
|
SQLFrom,
|
|
2336
|
-
SQLFunction,
|
|
2337
2337
|
SQLFunctionInput,
|
|
2338
|
+
SQLFunction,
|
|
2338
2339
|
SQLGroupBy,
|
|
2339
2340
|
SQLHaving,
|
|
2340
2341
|
SQLHints,
|
|
@@ -5997,6 +5998,10 @@ declare class SQLFields extends Expression {
|
|
|
5997
5998
|
getRunnable(): IStatementRunnable;
|
|
5998
5999
|
}
|
|
5999
6000
|
|
|
6001
|
+
declare class SQLFieldsLoop extends Expression {
|
|
6002
|
+
getRunnable(): IStatementRunnable;
|
|
6003
|
+
}
|
|
6004
|
+
|
|
6000
6005
|
declare class SQLForAllEntries extends Expression {
|
|
6001
6006
|
getRunnable(): IStatementRunnable;
|
|
6002
6007
|
}
|
|
@@ -184,12 +184,13 @@ __exportStar(require("./sql_field_list_loop"), exports);
|
|
|
184
184
|
__exportStar(require("./sql_field_list"), exports);
|
|
185
185
|
__exportStar(require("./sql_field_name"), exports);
|
|
186
186
|
__exportStar(require("./sql_field"), exports);
|
|
187
|
+
__exportStar(require("./sql_fields_loop"), exports);
|
|
187
188
|
__exportStar(require("./sql_fields"), exports);
|
|
188
189
|
__exportStar(require("./sql_for_all_entries"), exports);
|
|
189
190
|
__exportStar(require("./sql_from_source"), exports);
|
|
190
191
|
__exportStar(require("./sql_from"), exports);
|
|
191
|
-
__exportStar(require("./sql_function"), exports);
|
|
192
192
|
__exportStar(require("./sql_function_input"), exports);
|
|
193
|
+
__exportStar(require("./sql_function"), exports);
|
|
193
194
|
__exportStar(require("./sql_group_by"), exports);
|
|
194
195
|
__exportStar(require("./sql_having"), exports);
|
|
195
196
|
__exportStar(require("./sql_hints"), exports);
|
|
@@ -10,6 +10,7 @@ const sql_hints_1 = require("./sql_hints");
|
|
|
10
10
|
const sql_field_list_loop_1 = require("./sql_field_list_loop");
|
|
11
11
|
const sql_up_to_1 = require("./sql_up_to");
|
|
12
12
|
const version_1 = require("../../../version");
|
|
13
|
+
const sql_fields_loop_1 = require("./sql_fields_loop");
|
|
13
14
|
// note: SELECT loops are matched before single statement SELECTs
|
|
14
15
|
class SelectLoop extends combi_1.Expression {
|
|
15
16
|
getRunnable() {
|
|
@@ -20,7 +21,7 @@ class SelectLoop extends combi_1.Expression {
|
|
|
20
21
|
const packTab = (0, combi_1.seq)(pack, _1.SQLIntoTable);
|
|
21
22
|
const into = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
|
|
22
23
|
const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, (0, combi_1.alt)(tab, into, packTab));
|
|
23
|
-
const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750,
|
|
24
|
+
const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, sql_fields_loop_1.SQLFieldsLoop), (0, combi_1.optPrio)((0, combi_1.seq)(where, (0, combi_1.optPrio)(sql_order_by_1.SQLOrderBy), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo))));
|
|
24
25
|
const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict), (0, combi_1.optPrio)(sql_hints_1.SQLHints));
|
|
25
26
|
return ret;
|
|
26
27
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLFieldsLoop = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
class SQLFieldsLoop extends combi_1.Expression {
|
|
7
|
+
getRunnable() {
|
|
8
|
+
return (0, combi_1.seq)("FIELDS", (0, combi_1.opt)("DISTINCT"), _1.SQLFieldListLoop);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.SQLFieldsLoop = SQLFieldsLoop;
|
|
12
|
+
//# sourceMappingURL=sql_fields_loop.js.map
|
|
@@ -6,13 +6,13 @@ const combi_1 = require("../../abap/2_statements/combi");
|
|
|
6
6
|
const cds_integer_1 = require("./cds_integer");
|
|
7
7
|
class CDSCondition extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.
|
|
9
|
+
const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(".", (0, combi_1.alt)(_1.CDSName, _1.CDSString))));
|
|
10
10
|
const left = (0, combi_1.alt)(name, _1.CDSFunction, _1.CDSString);
|
|
11
11
|
const compare = (0, combi_1.seq)(left, (0, combi_1.alt)("=", (0, combi_1.seq)("!", "="), (0, combi_1.seq)("<", ">"), "<", ">", (0, combi_1.seq)(">", "="), (0, combi_1.seq)("<", "="), "LIKE", "NOT LIKE"), (0, combi_1.alt)(left, cds_integer_1.CDSInteger, _1.CDSFunction, _1.CDSString));
|
|
12
12
|
const is = (0, combi_1.seq)(left, "IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("INITIAL", "NULL"));
|
|
13
13
|
const condition = (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.alt)(compare, is));
|
|
14
14
|
const paren = (0, combi_1.seq)("(", CDSCondition, ")");
|
|
15
|
-
return (0, combi_1.seq)((0, combi_1.alt)(condition, paren), (0, combi_1.
|
|
15
|
+
return (0, combi_1.seq)((0, combi_1.alt)(condition, paren), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.altPrio)("AND", "OR"), (0, combi_1.altPrio)(condition, paren))));
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
exports.CDSCondition = CDSCondition;
|
|
@@ -7,10 +7,10 @@ const cds_association_1 = require("./cds_association");
|
|
|
7
7
|
const cds_join_1 = require("./cds_join");
|
|
8
8
|
class CDSSelect extends combi_1.Expression {
|
|
9
9
|
getRunnable() {
|
|
10
|
-
const fields = (0, combi_1.
|
|
10
|
+
const fields = (0, combi_1.seq)((0, combi_1.star)((0, combi_1.seq)(_1.CDSElement, ",")), _1.CDSElement);
|
|
11
11
|
const distinct = (0, combi_1.str)("DISTINCT");
|
|
12
|
-
const elements = (0, combi_1.seq)((0, combi_1.str)("{"),
|
|
13
|
-
return (0, combi_1.seq)("SELECT", (0, combi_1.
|
|
12
|
+
const elements = (0, combi_1.seq)((0, combi_1.str)("{"), _1.CDSElement, (0, combi_1.starPrio)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.str)("}"));
|
|
13
|
+
return (0, combi_1.seq)("SELECT", (0, combi_1.optPrio)(distinct), (0, combi_1.opt)(fields), "FROM", _1.CDSSource, (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.star)(cds_association_1.CDSAssociation), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.opt)(elements), (0, combi_1.optPrio)(_1.CDSWhere), (0, combi_1.optPrio)(_1.CDSGroupBy), (0, combi_1.optPrio)(_1.CDSHaving), (0, combi_1.optPrio)((0, combi_1.seq)("UNION", (0, combi_1.optPrio)("ALL"), CDSSelect)));
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.CDSSelect = CDSSelect;
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.113.
|
|
3
|
+
"version": "2.113.44",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"@microsoft/api-extractor": "^7.47.11",
|
|
54
54
|
"@types/chai": "^4.3.20",
|
|
55
55
|
"@types/mocha": "^10.0.9",
|
|
56
|
-
"@types/node": "^22.
|
|
56
|
+
"@types/node": "^22.9.0",
|
|
57
57
|
"chai": "^4.5.0",
|
|
58
58
|
"eslint": "^9.14.0",
|
|
59
59
|
"mocha": "^10.8.2",
|