@abaplint/core 2.119.26 → 2.119.27
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 +15 -0
- package/build/src/abap/2_statements/combi.js +2 -1
- package/build/src/abap/2_statements/expressions/index.js +3 -0
- package/build/src/abap/2_statements/expressions/select.js +3 -3
- package/build/src/abap/2_statements/expressions/select_loop.js +3 -2
- package/build/src/abap/2_statements/expressions/sql_bypassing_buffer.js +11 -0
- package/build/src/abap/2_statements/expressions/sql_from_source.js +2 -1
- package/build/src/abap/2_statements/expressions/sql_options.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_privileged_access.js +14 -0
- package/build/src/abap/2_statements/statements/open_cursor.js +2 -1
- package/build/src/objects/rename/renamer.js +3 -0
- package/build/src/registry.js +1 -1
- package/package.json +7 -7
package/build/abaplint.d.ts
CHANGED
|
@@ -2566,6 +2566,7 @@ declare namespace Expressions {
|
|
|
2566
2566
|
SQLArithmetics,
|
|
2567
2567
|
SQLAsName,
|
|
2568
2568
|
SQLCase,
|
|
2569
|
+
SQLBypassingBuffer,
|
|
2569
2570
|
SQLCDSParameters,
|
|
2570
2571
|
SQLClient,
|
|
2571
2572
|
SQLCompareOperator,
|
|
@@ -2591,9 +2592,11 @@ declare namespace Expressions {
|
|
|
2591
2592
|
SQLIntoStructure,
|
|
2592
2593
|
SQLIntoTable,
|
|
2593
2594
|
SQLJoin,
|
|
2595
|
+
SQLOptions,
|
|
2594
2596
|
SQLOrderBy,
|
|
2595
2597
|
SQLOver,
|
|
2596
2598
|
SQLPath,
|
|
2599
|
+
SQLPrivilegedAccess,
|
|
2597
2600
|
SQLSourceNoSpace,
|
|
2598
2601
|
SQLSourceSimple,
|
|
2599
2602
|
SQLSource,
|
|
@@ -6365,6 +6368,10 @@ declare class SQLAsName extends Expression {
|
|
|
6365
6368
|
getRunnable(): IStatementRunnable;
|
|
6366
6369
|
}
|
|
6367
6370
|
|
|
6371
|
+
declare class SQLBypassingBuffer extends Expression {
|
|
6372
|
+
getRunnable(): IStatementRunnable;
|
|
6373
|
+
}
|
|
6374
|
+
|
|
6368
6375
|
declare class SQLCase extends Expression {
|
|
6369
6376
|
getRunnable(): IStatementRunnable;
|
|
6370
6377
|
}
|
|
@@ -6469,6 +6476,10 @@ declare class SQLJoin extends Expression {
|
|
|
6469
6476
|
getRunnable(): IStatementRunnable;
|
|
6470
6477
|
}
|
|
6471
6478
|
|
|
6479
|
+
declare class SQLOptions extends Expression {
|
|
6480
|
+
getRunnable(): IStatementRunnable;
|
|
6481
|
+
}
|
|
6482
|
+
|
|
6472
6483
|
declare class SQLOrderBy extends Expression {
|
|
6473
6484
|
getRunnable(): IStatementRunnable;
|
|
6474
6485
|
}
|
|
@@ -6481,6 +6492,10 @@ declare class SQLPath extends Expression {
|
|
|
6481
6492
|
getRunnable(): IStatementRunnable;
|
|
6482
6493
|
}
|
|
6483
6494
|
|
|
6495
|
+
declare class SQLPrivilegedAccess extends Expression {
|
|
6496
|
+
getRunnable(): IStatementRunnable;
|
|
6497
|
+
}
|
|
6498
|
+
|
|
6484
6499
|
declare class SQLSource extends Expression {
|
|
6485
6500
|
getRunnable(): IStatementRunnable;
|
|
6486
6501
|
}
|
|
@@ -146,7 +146,8 @@ class Vers {
|
|
|
146
146
|
return this.runnable.run(r);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
else if (targetVersion
|
|
149
|
+
else if ((targetVersion !== version_1.Version.Cloud && this.version !== version_1.Version.Cloud && targetVersion >= this.version)
|
|
150
|
+
|| targetVersion === version_1.Version.Cloud) {
|
|
150
151
|
return this.runnable.run(r);
|
|
151
152
|
}
|
|
152
153
|
else {
|
|
@@ -179,6 +179,7 @@ __exportStar(require("./sql_arithmetic_operator"), exports);
|
|
|
179
179
|
__exportStar(require("./sql_arithmetics"), exports);
|
|
180
180
|
__exportStar(require("./sql_as_name"), exports);
|
|
181
181
|
__exportStar(require("./sql_case"), exports);
|
|
182
|
+
__exportStar(require("./sql_bypassing_buffer"), exports);
|
|
182
183
|
__exportStar(require("./sql_cds_parameters"), exports);
|
|
183
184
|
__exportStar(require("./sql_client"), exports);
|
|
184
185
|
__exportStar(require("./sql_compare_operator"), exports);
|
|
@@ -204,10 +205,12 @@ __exportStar(require("./sql_into_list"), exports);
|
|
|
204
205
|
__exportStar(require("./sql_into_structure"), exports);
|
|
205
206
|
__exportStar(require("./sql_into_table"), exports);
|
|
206
207
|
__exportStar(require("./sql_join"), exports);
|
|
208
|
+
__exportStar(require("./sql_options"), exports);
|
|
207
209
|
__exportStar(require("./sql_order_by"), exports);
|
|
208
210
|
__exportStar(require("./sql_over"), exports);
|
|
209
211
|
__exportStar(require("./sql_over"), exports);
|
|
210
212
|
__exportStar(require("./sql_path"), exports);
|
|
213
|
+
__exportStar(require("./sql_privileged_access"), exports);
|
|
211
214
|
__exportStar(require("./sql_source_no_space"), exports);
|
|
212
215
|
__exportStar(require("./sql_source_simple"), exports);
|
|
213
216
|
__exportStar(require("./sql_source"), exports);
|
|
@@ -14,9 +14,9 @@ class Select extends combi_1.Expression {
|
|
|
14
14
|
const offset = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)("OFFSET", _1.SQLSource));
|
|
15
15
|
const bypass = (0, combi_1.str)("BYPASSING BUFFER");
|
|
16
16
|
const fields = (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields, version_1.Version.OpenABAP);
|
|
17
|
-
|
|
18
|
-
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);
|
|
19
|
-
const permSingle = (0, combi_1.per)(_1.SQLFrom, (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList), where, _1.SQLClient, bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection, _1.SQLHints);
|
|
17
|
+
const privileged = (0, combi_1.ver)(version_1.Version.v758, _1.SQLPrivilegedAccess);
|
|
18
|
+
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, privileged, _1.SQLOptions);
|
|
19
|
+
const permSingle = (0, combi_1.per)(_1.SQLFrom, (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList), where, _1.SQLClient, bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection, _1.SQLHints, privileged, _1.SQLOptions);
|
|
20
20
|
const fieldList = (0, combi_1.optPrio)(_1.SQLFieldList);
|
|
21
21
|
const single = (0, combi_1.seq)("SINGLE", (0, combi_1.optPrio)("FOR UPDATE"), fieldList, permSingle);
|
|
22
22
|
const other = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), fieldList, perm);
|
|
@@ -17,14 +17,15 @@ class SelectLoop extends combi_1.Expression {
|
|
|
17
17
|
const where = (0, combi_1.seq)("WHERE", _1.SQLCond);
|
|
18
18
|
const bypass = "BYPASSING BUFFER";
|
|
19
19
|
const pack = (0, combi_1.seq)("PACKAGE SIZE", _1.SQLSource);
|
|
20
|
+
const privileged = (0, combi_1.ver)(version_1.Version.v758, _1.SQLPrivilegedAccess);
|
|
20
21
|
const tab = (0, combi_1.seq)(_1.SQLIntoTable, (0, combi_1.alt)(pack, (0, combi_1.seq)(_1.SQLFrom, pack), (0, combi_1.seq)(pack, _1.SQLFrom)));
|
|
21
22
|
const packTab = (0, combi_1.seq)(pack, _1.SQLIntoTable);
|
|
22
23
|
const into = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
|
|
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, _1.DatabaseConnection, (0, combi_1.alt)(tab, sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList, packTab));
|
|
24
|
+
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, _1.DatabaseConnection, privileged, _1.SQLOptions, (0, combi_1.alt)(tab, sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList, packTab));
|
|
24
25
|
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)(_1.SQLForAllEntries), (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))));
|
|
25
26
|
const aggrIntoBeforeFrom = (0, combi_1.seq)((0, combi_1.plusPrio)(_1.SQLAggregation), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), _1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(where), _1.SQLGroupBy);
|
|
26
27
|
const aggrIntoAfterFrom = (0, combi_1.seq)((0, combi_1.plusPrio)(_1.SQLAggregation), _1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), (0, combi_1.optPrio)(where), _1.SQLGroupBy);
|
|
27
|
-
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, aggrIntoBeforeFrom, aggrIntoAfterFrom), (0, combi_1.optPrio)(sql_hints_1.SQLHints));
|
|
28
|
+
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, aggrIntoBeforeFrom, aggrIntoAfterFrom), (0, combi_1.optPrio)(sql_hints_1.SQLHints), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(_1.SQLOptions));
|
|
28
29
|
return ret;
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLBypassingBuffer = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
class SQLBypassingBuffer extends combi_1.Expression {
|
|
6
|
+
getRunnable() {
|
|
7
|
+
return (0, combi_1.str)("BYPASSING BUFFER");
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.SQLBypassingBuffer = SQLBypassingBuffer;
|
|
11
|
+
//# sourceMappingURL=sql_bypassing_buffer.js.map
|
|
@@ -11,7 +11,8 @@ class SQLFromSource extends combi_1.Expression {
|
|
|
11
11
|
// https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-752-open_sql.htm#!ABAP_MODIFICATION_1@1@
|
|
12
12
|
const tab = (0, combi_1.ver)(version_1.Version.v752, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.FieldChain));
|
|
13
13
|
const aas = (0, combi_1.seq)("AS", _1.SQLAsName);
|
|
14
|
-
|
|
14
|
+
const privileged = (0, combi_1.ver)(version_1.Version.v752, (0, combi_1.seq)("WITH", _1.SQLPrivilegedAccess));
|
|
15
|
+
return (0, combi_1.seq)((0, combi_1.altPrio)(with_name_1.WithName, (0, combi_1.seq)(_1.DatabaseTable, (0, combi_1.optPrio)(_1.SQLCDSParameters)), tab), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(aas));
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
exports.SQLFromSource = SQLFromSource;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLOptions = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const version_1 = require("../../../version");
|
|
6
|
+
const sql_source_simple_1 = require("./sql_source_simple");
|
|
7
|
+
const _1 = require(".");
|
|
8
|
+
class SQLOptions extends combi_1.Expression {
|
|
9
|
+
getRunnable() {
|
|
10
|
+
const usingClients = (0, combi_1.alt)((0, combi_1.seq)("CLIENTS IN", (0, combi_1.alt)(sql_source_simple_1.SQLSourceSimple, "T000")), "ALL CLIENTS", (0, combi_1.seq)("CLIENT", sql_source_simple_1.SQLSourceSimple));
|
|
11
|
+
const privilegedAccess = (0, combi_1.ver)(version_1.Version.v758, _1.SQLPrivilegedAccess);
|
|
12
|
+
const general = (0, combi_1.per)(privilegedAccess, _1.SQLBypassingBuffer, _1.DatabaseConnection);
|
|
13
|
+
const usingClause = (0, combi_1.seq)("USING", usingClients, (0, combi_1.optPrio)(general));
|
|
14
|
+
return (0, combi_1.ver)(version_1.Version.v758, (0, combi_1.seq)("OPTIONS", (0, combi_1.alt)(usingClause, general)));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.SQLOptions = SQLOptions;
|
|
18
|
+
//# sourceMappingURL=sql_options.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLPrivilegedAccess = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const version_1 = require("../../../version");
|
|
6
|
+
const sql_source_simple_1 = require("./sql_source_simple");
|
|
7
|
+
class SQLPrivilegedAccess extends combi_1.Expression {
|
|
8
|
+
getRunnable() {
|
|
9
|
+
const accessLevel = (0, combi_1.ver)(version_1.Version.Cloud, (0, combi_1.seq)("LEVEL", sql_source_simple_1.SQLSourceSimple));
|
|
10
|
+
return (0, combi_1.seq)("PRIVILEGED ACCESS", (0, combi_1.optPrio)(accessLevel));
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.SQLPrivilegedAccess = SQLPrivilegedAccess;
|
|
14
|
+
//# sourceMappingURL=sql_privileged_access.js.map
|
|
@@ -6,7 +6,8 @@ const expressions_1 = require("../expressions");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class OpenCursor {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
const
|
|
9
|
+
const privileged = (0, combi_1.ver)(version_1.Version.v752, (0, combi_1.seq)("WITH", expressions_1.SQLPrivilegedAccess));
|
|
10
|
+
const ret = (0, combi_1.seq)("OPEN CURSOR", (0, combi_1.optPrio)("WITH HOLD"), expressions_1.SQLTarget, "FOR", expressions_1.Select, (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(expressions_1.SQLOptions));
|
|
10
11
|
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
|
|
11
12
|
}
|
|
12
13
|
}
|
|
@@ -107,6 +107,9 @@ class Renamer {
|
|
|
107
107
|
}
|
|
108
108
|
const rows = file.getRawRows();
|
|
109
109
|
for (const e of dc.edits) {
|
|
110
|
+
if ("newText" in e === false) {
|
|
111
|
+
throw new Error("applyEdit, snippet edit not supported");
|
|
112
|
+
}
|
|
110
113
|
if (e.range.start.line !== e.range.end.line) {
|
|
111
114
|
throw new Error("applyEdit, start and end line differ");
|
|
112
115
|
}
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.119.
|
|
3
|
+
"version": "2.119.27",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -50,14 +50,14 @@
|
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://abaplint.org",
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@microsoft/api-extractor": "^7.58.
|
|
53
|
+
"@microsoft/api-extractor": "^7.58.8",
|
|
54
54
|
"@types/chai": "^4.3.20",
|
|
55
55
|
"@types/mocha": "^10.0.10",
|
|
56
|
-
"@types/node": "^24.
|
|
57
|
-
"chai": "^4.5.0",
|
|
58
|
-
"eslint": "^9.39.2",
|
|
59
|
-
"mocha": "^11.7.5",
|
|
56
|
+
"@types/node": "^24.13.2",
|
|
60
57
|
"c8": "^11.0.0",
|
|
58
|
+
"chai": "^4.5.0",
|
|
59
|
+
"eslint": "^9.39.4",
|
|
60
|
+
"mocha": "^11.7.6",
|
|
61
61
|
"source-map-support": "^0.5.21",
|
|
62
62
|
"ts-json-schema-generator": "^2.9.0",
|
|
63
63
|
"typescript": "^5.9.3"
|
|
@@ -65,6 +65,6 @@
|
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"fast-xml-parser": "^5.8.0",
|
|
67
67
|
"json5": "^2.2.3",
|
|
68
|
-
"vscode-languageserver-types": "^3.
|
|
68
|
+
"vscode-languageserver-types": "^3.18.0"
|
|
69
69
|
}
|
|
70
70
|
}
|