@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.
@@ -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 >= this.version || targetVersion === version_1.Version.Cloud) {
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
- // todo, HINTS cannot be anywhere, need an expression dedicated for strict sql
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
- 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)((0, combi_1.ver)(version_1.Version.v752, "WITH PRIVILEGED ACCESS")), (0, combi_1.optPrio)(aas));
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 ret = (0, combi_1.seq)("OPEN CURSOR", (0, combi_1.optPrio)("WITH HOLD"), expressions_1.SQLTarget, "FOR", expressions_1.Select);
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
  }
@@ -74,7 +74,7 @@ class Registry {
74
74
  }
75
75
  static abaplintVersion() {
76
76
  // magic, see build script "version.sh"
77
- return "2.119.26";
77
+ return "2.119.27";
78
78
  }
79
79
  getDDICReferences() {
80
80
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.119.26",
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.7",
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.12.2",
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.17.5"
68
+ "vscode-languageserver-types": "^3.18.0"
69
69
  }
70
70
  }