@abaplint/core 2.119.44 → 2.119.45
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 +360 -5
- package/build/src/abap/2_statements/expressions/_select_core.js +9 -7
- package/build/src/abap/2_statements/expressions/assign_source.js +9 -3
- package/build/src/abap/2_statements/expressions/database_table.js +8 -0
- package/build/src/abap/2_statements/expressions/select.js +1 -1
- package/build/src/abap/2_statements/expressions/select_cte.js +2 -1
- package/build/src/abap/2_statements/expressions/sql_client.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_from.js +9 -8
- package/build/src/abap/2_statements/expressions/sql_from_source.js +2 -1
- package/build/src/abap/2_statements/statements/add.js +2 -1
- package/build/src/abap/2_statements/statements/assert.js +2 -1
- package/build/src/abap/2_statements/statements/assign.js +8 -3
- package/build/src/abap/2_statements/statements/at.js +2 -1
- package/build/src/abap/2_statements/statements/authority_check.js +2 -1
- package/build/src/abap/2_statements/statements/call.js +2 -1
- package/build/src/abap/2_statements/statements/call_function.js +1 -1
- package/build/src/abap/2_statements/statements/call_transformation.js +2 -1
- package/build/src/abap/2_statements/statements/class_deferred.js +2 -1
- package/build/src/abap/2_statements/statements/class_definition_load.js +2 -1
- package/build/src/abap/2_statements/statements/commit.js +2 -1
- package/build/src/abap/2_statements/statements/commit_entities.js +1 -1
- package/build/src/abap/2_statements/statements/create_data.js +1 -1
- package/build/src/abap/2_statements/statements/create_object.js +1 -1
- package/build/src/abap/2_statements/statements/delete_database.js +2 -1
- package/build/src/abap/2_statements/statements/delete_internal.js +3 -1
- package/build/src/abap/2_statements/statements/divide.js +2 -1
- package/build/src/abap/2_statements/statements/endform.js +2 -2
- package/build/src/abap/2_statements/statements/endfunction.js +2 -1
- package/build/src/abap/2_statements/statements/endwith.js +1 -1
- package/build/src/abap/2_statements/statements/export.js +4 -3
- package/build/src/abap/2_statements/statements/form.js +2 -1
- package/build/src/abap/2_statements/statements/free.js +2 -1
- package/build/src/abap/2_statements/statements/function_module.js +2 -1
- package/build/src/abap/2_statements/statements/function_pool.js +2 -1
- package/build/src/abap/2_statements/statements/get_reference.js +2 -1
- package/build/src/abap/2_statements/statements/get_time.js +2 -1
- package/build/src/abap/2_statements/statements/import.js +5 -4
- package/build/src/abap/2_statements/statements/insert_database.js +2 -1
- package/build/src/abap/2_statements/statements/interface_deferred.js +2 -1
- package/build/src/abap/2_statements/statements/interface_load.js +2 -1
- package/build/src/abap/2_statements/statements/loop.js +1 -1
- package/build/src/abap/2_statements/statements/loop_extract.js +2 -1
- package/build/src/abap/2_statements/statements/message.js +2 -1
- package/build/src/abap/2_statements/statements/method_def.js +8 -4
- package/build/src/abap/2_statements/statements/method_implementation.js +3 -1
- package/build/src/abap/2_statements/statements/modify_database.js +2 -1
- package/build/src/abap/2_statements/statements/multiply.js +2 -1
- package/build/src/abap/2_statements/statements/perform.js +1 -1
- package/build/src/abap/2_statements/statements/raise.js +2 -1
- package/build/src/abap/2_statements/statements/raise_entity_event.js +2 -1
- package/build/src/abap/2_statements/statements/raise_event.js +2 -1
- package/build/src/abap/2_statements/statements/read_table.js +3 -2
- package/build/src/abap/2_statements/statements/rollback.js +2 -1
- package/build/src/abap/2_statements/statements/rollback_entities.js +1 -1
- package/build/src/abap/2_statements/statements/set_handler.js +2 -1
- package/build/src/abap/2_statements/statements/set_locks.js +1 -1
- package/build/src/abap/2_statements/statements/static.js +3 -2
- package/build/src/abap/2_statements/statements/subtract.js +2 -1
- package/build/src/abap/2_statements/statements/test_injection.js +2 -1
- package/build/src/abap/2_statements/statements/test_seam.js +1 -1
- package/build/src/abap/2_statements/statements/update_database.js +4 -3
- package/build/src/abap/2_statements/statements/wait.js +4 -3
- package/build/src/abap/2_statements/statements/with.js +1 -1
- package/build/src/abap/5_syntax/_current_scope.js +1 -2
- package/build/src/cds/cds_parser.js +8 -8
- package/build/src/config.js +24 -15
- package/build/src/ddl/ddl_parser.js +2 -2
- package/build/src/registry.js +1 -1
- package/build/src/rules/index.js +1 -0
- package/build/src/rules/sy_read_restriction.js +152 -0
- package/build/src/version.js +2 -65
- package/package.json +1 -1
package/build/abaplint.d.ts
CHANGED
|
@@ -1463,7 +1463,7 @@ declare class CondSub extends Expression {
|
|
|
1463
1463
|
|
|
1464
1464
|
export declare class Config implements IConfiguration {
|
|
1465
1465
|
private readonly config;
|
|
1466
|
-
static getDefault(ver?:
|
|
1466
|
+
static getDefault(ver?: VersionOldOrNew, langVer?: LanguageVersion, openABAP?: boolean): Config;
|
|
1467
1467
|
getEnabledRules(): IRule[];
|
|
1468
1468
|
constructor(json: string);
|
|
1469
1469
|
get(): IConfig;
|
|
@@ -1699,6 +1699,8 @@ declare class DatabaseConnection extends Expression {
|
|
|
1699
1699
|
}
|
|
1700
1700
|
|
|
1701
1701
|
declare class DatabaseTable extends Expression {
|
|
1702
|
+
private readonly noDynamic;
|
|
1703
|
+
constructor(noDynamic?: boolean);
|
|
1702
1704
|
getRunnable(): IStatementRunnable;
|
|
1703
1705
|
}
|
|
1704
1706
|
|
|
@@ -4350,8 +4352,8 @@ declare interface ISyntaxResult {
|
|
|
4350
4352
|
}
|
|
4351
4353
|
|
|
4352
4354
|
declare interface ISyntaxSettings {
|
|
4353
|
-
/** ABAP
|
|
4354
|
-
version?:
|
|
4355
|
+
/** ABAP language version */
|
|
4356
|
+
version?: VersionOldOrNew;
|
|
4355
4357
|
languageVersion?: LanguageVersion;
|
|
4356
4358
|
/** Use the OpenABAP dialect (v702 base + a set of additional language features). */
|
|
4357
4359
|
openABAP?: boolean;
|
|
@@ -5950,6 +5952,353 @@ export declare const Release: {
|
|
|
5950
5952
|
*/
|
|
5951
5953
|
export declare function releaseAtLeast(running: ABAPRelease, required: ABAPRelease): boolean;
|
|
5952
5954
|
|
|
5955
|
+
declare const releaseDefsRaw: readonly [readonly ["v700", {
|
|
5956
|
+
readonly abap: "700";
|
|
5957
|
+
readonly kernel: 700;
|
|
5958
|
+
readonly op: 700;
|
|
5959
|
+
readonly cloud: null;
|
|
5960
|
+
readonly ce: null;
|
|
5961
|
+
}], readonly ["v701", {
|
|
5962
|
+
readonly abap: "701";
|
|
5963
|
+
readonly kernel: 701;
|
|
5964
|
+
readonly op: 701;
|
|
5965
|
+
readonly cloud: null;
|
|
5966
|
+
readonly ce: null;
|
|
5967
|
+
}], readonly ["v702", {
|
|
5968
|
+
readonly abap: "702";
|
|
5969
|
+
readonly kernel: 702;
|
|
5970
|
+
readonly op: 702;
|
|
5971
|
+
readonly cloud: null;
|
|
5972
|
+
readonly ce: null;
|
|
5973
|
+
}], readonly ["v710", {
|
|
5974
|
+
readonly abap: "710";
|
|
5975
|
+
readonly kernel: 710;
|
|
5976
|
+
readonly op: 710;
|
|
5977
|
+
readonly cloud: null;
|
|
5978
|
+
readonly ce: null;
|
|
5979
|
+
}], readonly ["v711", {
|
|
5980
|
+
readonly abap: "711";
|
|
5981
|
+
readonly kernel: 711;
|
|
5982
|
+
readonly op: 711;
|
|
5983
|
+
readonly cloud: null;
|
|
5984
|
+
readonly ce: null;
|
|
5985
|
+
}], readonly ["v720", {
|
|
5986
|
+
readonly abap: "720";
|
|
5987
|
+
readonly kernel: 720;
|
|
5988
|
+
readonly op: 720;
|
|
5989
|
+
readonly cloud: null;
|
|
5990
|
+
readonly ce: null;
|
|
5991
|
+
}], readonly ["v722", {
|
|
5992
|
+
readonly abap: "722";
|
|
5993
|
+
readonly kernel: 722;
|
|
5994
|
+
readonly op: 722;
|
|
5995
|
+
readonly cloud: null;
|
|
5996
|
+
readonly ce: null;
|
|
5997
|
+
}], readonly ["v730", {
|
|
5998
|
+
readonly abap: "730";
|
|
5999
|
+
readonly kernel: 730;
|
|
6000
|
+
readonly op: 730;
|
|
6001
|
+
readonly cloud: null;
|
|
6002
|
+
readonly ce: null;
|
|
6003
|
+
}], readonly ["v731", {
|
|
6004
|
+
readonly abap: "731";
|
|
6005
|
+
readonly kernel: 731;
|
|
6006
|
+
readonly op: 731;
|
|
6007
|
+
readonly cloud: null;
|
|
6008
|
+
readonly ce: null;
|
|
6009
|
+
}], readonly ["v740sp02", {
|
|
6010
|
+
readonly abap: "740SP02";
|
|
6011
|
+
readonly kernel: 740;
|
|
6012
|
+
readonly op: 740;
|
|
6013
|
+
readonly cloud: null;
|
|
6014
|
+
readonly ce: null;
|
|
6015
|
+
}], readonly ["v740sp05", {
|
|
6016
|
+
readonly abap: "740SP05";
|
|
6017
|
+
readonly kernel: 741;
|
|
6018
|
+
readonly op: 740;
|
|
6019
|
+
readonly cloud: null;
|
|
6020
|
+
readonly ce: null;
|
|
6021
|
+
}], readonly ["v740sp08", {
|
|
6022
|
+
readonly abap: "740SP08";
|
|
6023
|
+
readonly kernel: 742;
|
|
6024
|
+
readonly op: 740;
|
|
6025
|
+
readonly cloud: null;
|
|
6026
|
+
readonly ce: null;
|
|
6027
|
+
}], readonly ["v760", {
|
|
6028
|
+
readonly abap: "7.60";
|
|
6029
|
+
readonly kernel: 743;
|
|
6030
|
+
readonly op: 750;
|
|
6031
|
+
readonly cloud: 760;
|
|
6032
|
+
readonly ce: null;
|
|
6033
|
+
}], readonly ["v761", {
|
|
6034
|
+
readonly abap: "7.61";
|
|
6035
|
+
readonly kernel: 744;
|
|
6036
|
+
readonly op: 750;
|
|
6037
|
+
readonly cloud: 761;
|
|
6038
|
+
readonly ce: null;
|
|
6039
|
+
}], readonly ["v762", {
|
|
6040
|
+
readonly abap: "7.62";
|
|
6041
|
+
readonly kernel: 745;
|
|
6042
|
+
readonly op: 750;
|
|
6043
|
+
readonly cloud: 762;
|
|
6044
|
+
readonly ce: null;
|
|
6045
|
+
}], readonly ["v763", {
|
|
6046
|
+
readonly abap: "7.63";
|
|
6047
|
+
readonly kernel: 746;
|
|
6048
|
+
readonly op: 751;
|
|
6049
|
+
readonly cloud: 763;
|
|
6050
|
+
readonly ce: null;
|
|
6051
|
+
}], readonly ["v764", {
|
|
6052
|
+
readonly abap: "7.64";
|
|
6053
|
+
readonly kernel: 747;
|
|
6054
|
+
readonly op: 751;
|
|
6055
|
+
readonly cloud: 764;
|
|
6056
|
+
readonly ce: null;
|
|
6057
|
+
}], readonly ["v765", {
|
|
6058
|
+
readonly abap: "7.65";
|
|
6059
|
+
readonly kernel: 748;
|
|
6060
|
+
readonly op: 751;
|
|
6061
|
+
readonly cloud: 765;
|
|
6062
|
+
readonly ce: null;
|
|
6063
|
+
}], readonly ["v766", {
|
|
6064
|
+
readonly abap: "7.66";
|
|
6065
|
+
readonly kernel: 749;
|
|
6066
|
+
readonly op: 752;
|
|
6067
|
+
readonly cloud: 766;
|
|
6068
|
+
readonly ce: null;
|
|
6069
|
+
}], readonly ["v767", {
|
|
6070
|
+
readonly abap: "7.67";
|
|
6071
|
+
readonly kernel: 750;
|
|
6072
|
+
readonly op: 752;
|
|
6073
|
+
readonly cloud: 767;
|
|
6074
|
+
readonly ce: 1702;
|
|
6075
|
+
}], readonly ["v768", {
|
|
6076
|
+
readonly abap: "7.68";
|
|
6077
|
+
readonly kernel: 751;
|
|
6078
|
+
readonly op: 752;
|
|
6079
|
+
readonly cloud: 768;
|
|
6080
|
+
readonly ce: 1705;
|
|
6081
|
+
}], readonly ["v769", {
|
|
6082
|
+
readonly abap: "7.69";
|
|
6083
|
+
readonly kernel: 752;
|
|
6084
|
+
readonly op: 752;
|
|
6085
|
+
readonly cloud: 769;
|
|
6086
|
+
readonly ce: 1708;
|
|
6087
|
+
}], readonly ["v770", {
|
|
6088
|
+
readonly abap: "7.70";
|
|
6089
|
+
readonly kernel: 753;
|
|
6090
|
+
readonly op: 753;
|
|
6091
|
+
readonly cloud: 770;
|
|
6092
|
+
readonly ce: 1711;
|
|
6093
|
+
}], readonly ["v771", {
|
|
6094
|
+
readonly abap: "7.71";
|
|
6095
|
+
readonly kernel: 771;
|
|
6096
|
+
readonly op: 753;
|
|
6097
|
+
readonly cloud: 771;
|
|
6098
|
+
readonly ce: 1802;
|
|
6099
|
+
}], readonly ["v772", {
|
|
6100
|
+
readonly abap: "7.72";
|
|
6101
|
+
readonly kernel: 772;
|
|
6102
|
+
readonly op: 753;
|
|
6103
|
+
readonly cloud: 772;
|
|
6104
|
+
readonly ce: 1805;
|
|
6105
|
+
}], readonly ["v773", {
|
|
6106
|
+
readonly abap: "7.73";
|
|
6107
|
+
readonly kernel: 773;
|
|
6108
|
+
readonly op: 753;
|
|
6109
|
+
readonly cloud: 773;
|
|
6110
|
+
readonly ce: 1808;
|
|
6111
|
+
}], readonly ["v774", {
|
|
6112
|
+
readonly abap: "7.74";
|
|
6113
|
+
readonly kernel: 774;
|
|
6114
|
+
readonly op: 754;
|
|
6115
|
+
readonly cloud: 774;
|
|
6116
|
+
readonly ce: 1811;
|
|
6117
|
+
}], readonly ["v775", {
|
|
6118
|
+
readonly abap: "7.75";
|
|
6119
|
+
readonly kernel: 775;
|
|
6120
|
+
readonly op: 754;
|
|
6121
|
+
readonly cloud: 775;
|
|
6122
|
+
readonly ce: 1902;
|
|
6123
|
+
}], readonly ["v776", {
|
|
6124
|
+
readonly abap: "7.76";
|
|
6125
|
+
readonly kernel: 776;
|
|
6126
|
+
readonly op: 754;
|
|
6127
|
+
readonly cloud: 776;
|
|
6128
|
+
readonly ce: 1905;
|
|
6129
|
+
}], readonly ["v777", {
|
|
6130
|
+
readonly abap: "7.77";
|
|
6131
|
+
readonly kernel: 777;
|
|
6132
|
+
readonly op: 754;
|
|
6133
|
+
readonly cloud: 777;
|
|
6134
|
+
readonly ce: 1908;
|
|
6135
|
+
}], readonly ["v778", {
|
|
6136
|
+
readonly abap: "7.78";
|
|
6137
|
+
readonly kernel: 778;
|
|
6138
|
+
readonly op: 755;
|
|
6139
|
+
readonly cloud: 778;
|
|
6140
|
+
readonly ce: 1911;
|
|
6141
|
+
}], readonly ["v779", {
|
|
6142
|
+
readonly abap: "7.79";
|
|
6143
|
+
readonly kernel: 779;
|
|
6144
|
+
readonly op: 755;
|
|
6145
|
+
readonly cloud: 779;
|
|
6146
|
+
readonly ce: 2002;
|
|
6147
|
+
}], readonly ["v780", {
|
|
6148
|
+
readonly abap: "7.80";
|
|
6149
|
+
readonly kernel: 780;
|
|
6150
|
+
readonly op: 755;
|
|
6151
|
+
readonly cloud: 780;
|
|
6152
|
+
readonly ce: 2005;
|
|
6153
|
+
}], readonly ["v781", {
|
|
6154
|
+
readonly abap: "7.81";
|
|
6155
|
+
readonly kernel: 781;
|
|
6156
|
+
readonly op: 755;
|
|
6157
|
+
readonly cloud: 781;
|
|
6158
|
+
readonly ce: 2008;
|
|
6159
|
+
}], readonly ["v782", {
|
|
6160
|
+
readonly abap: "7.82";
|
|
6161
|
+
readonly kernel: 782;
|
|
6162
|
+
readonly op: 756;
|
|
6163
|
+
readonly cloud: 782;
|
|
6164
|
+
readonly ce: 2011;
|
|
6165
|
+
}], readonly ["v783", {
|
|
6166
|
+
readonly abap: "7.83";
|
|
6167
|
+
readonly kernel: 783;
|
|
6168
|
+
readonly op: 756;
|
|
6169
|
+
readonly cloud: 783;
|
|
6170
|
+
readonly ce: 2102;
|
|
6171
|
+
}], readonly ["v784", {
|
|
6172
|
+
readonly abap: "7.84";
|
|
6173
|
+
readonly kernel: 784;
|
|
6174
|
+
readonly op: 756;
|
|
6175
|
+
readonly cloud: 784;
|
|
6176
|
+
readonly ce: 2105;
|
|
6177
|
+
}], readonly ["v785", {
|
|
6178
|
+
readonly abap: "7.85";
|
|
6179
|
+
readonly kernel: 785;
|
|
6180
|
+
readonly op: 756;
|
|
6181
|
+
readonly cloud: 785;
|
|
6182
|
+
readonly ce: 2108;
|
|
6183
|
+
}], readonly ["v786", {
|
|
6184
|
+
readonly abap: "7.86";
|
|
6185
|
+
readonly kernel: 786;
|
|
6186
|
+
readonly op: 757;
|
|
6187
|
+
readonly cloud: 786;
|
|
6188
|
+
readonly ce: 2111;
|
|
6189
|
+
}], readonly ["v787", {
|
|
6190
|
+
readonly abap: "7.87";
|
|
6191
|
+
readonly kernel: 787;
|
|
6192
|
+
readonly op: 757;
|
|
6193
|
+
readonly cloud: 787;
|
|
6194
|
+
readonly ce: 2202;
|
|
6195
|
+
}], readonly ["v788", {
|
|
6196
|
+
readonly abap: "7.88";
|
|
6197
|
+
readonly kernel: 788;
|
|
6198
|
+
readonly op: 757;
|
|
6199
|
+
readonly cloud: 788;
|
|
6200
|
+
readonly ce: 2205;
|
|
6201
|
+
}], readonly ["v789", {
|
|
6202
|
+
readonly abap: "7.89";
|
|
6203
|
+
readonly kernel: 789;
|
|
6204
|
+
readonly op: 757;
|
|
6205
|
+
readonly cloud: 789;
|
|
6206
|
+
readonly ce: 2208;
|
|
6207
|
+
}], readonly ["v790", {
|
|
6208
|
+
readonly abap: "7.90";
|
|
6209
|
+
readonly kernel: 790;
|
|
6210
|
+
readonly op: 758;
|
|
6211
|
+
readonly cloud: 790;
|
|
6212
|
+
readonly ce: 2211;
|
|
6213
|
+
}], readonly ["v791", {
|
|
6214
|
+
readonly abap: "7.91";
|
|
6215
|
+
readonly kernel: 791;
|
|
6216
|
+
readonly op: 758;
|
|
6217
|
+
readonly cloud: 791;
|
|
6218
|
+
readonly ce: 2302;
|
|
6219
|
+
}], readonly ["v792", {
|
|
6220
|
+
readonly abap: "7.92";
|
|
6221
|
+
readonly kernel: 792;
|
|
6222
|
+
readonly op: 758;
|
|
6223
|
+
readonly cloud: 792;
|
|
6224
|
+
readonly ce: 2305;
|
|
6225
|
+
}], readonly ["v793", {
|
|
6226
|
+
readonly abap: "7.93";
|
|
6227
|
+
readonly kernel: 793;
|
|
6228
|
+
readonly op: 758;
|
|
6229
|
+
readonly cloud: 793;
|
|
6230
|
+
readonly ce: 2308;
|
|
6231
|
+
}], readonly ["v794", {
|
|
6232
|
+
readonly abap: "7.94";
|
|
6233
|
+
readonly kernel: 794;
|
|
6234
|
+
readonly op: 816;
|
|
6235
|
+
readonly cloud: 794;
|
|
6236
|
+
readonly ce: 2311;
|
|
6237
|
+
}], readonly ["v795", {
|
|
6238
|
+
readonly abap: "7.95";
|
|
6239
|
+
readonly kernel: 795;
|
|
6240
|
+
readonly op: 816;
|
|
6241
|
+
readonly cloud: 795;
|
|
6242
|
+
readonly ce: 2402;
|
|
6243
|
+
}], readonly ["v796", {
|
|
6244
|
+
readonly abap: "7.96";
|
|
6245
|
+
readonly kernel: 796;
|
|
6246
|
+
readonly op: 816;
|
|
6247
|
+
readonly cloud: 796;
|
|
6248
|
+
readonly ce: 2405;
|
|
6249
|
+
}], readonly ["v912", {
|
|
6250
|
+
readonly abap: "9.12";
|
|
6251
|
+
readonly kernel: 912;
|
|
6252
|
+
readonly op: 816;
|
|
6253
|
+
readonly cloud: 912;
|
|
6254
|
+
readonly ce: 2408;
|
|
6255
|
+
}], readonly ["v913", {
|
|
6256
|
+
readonly abap: "9.13";
|
|
6257
|
+
readonly kernel: 913;
|
|
6258
|
+
readonly op: 816;
|
|
6259
|
+
readonly cloud: 913;
|
|
6260
|
+
readonly ce: 2411;
|
|
6261
|
+
}], readonly ["v914", {
|
|
6262
|
+
readonly abap: "9.14";
|
|
6263
|
+
readonly kernel: 914;
|
|
6264
|
+
readonly op: 816;
|
|
6265
|
+
readonly cloud: 914;
|
|
6266
|
+
readonly ce: 2502;
|
|
6267
|
+
}], readonly ["v915", {
|
|
6268
|
+
readonly abap: "9.15";
|
|
6269
|
+
readonly kernel: 915;
|
|
6270
|
+
readonly op: 816;
|
|
6271
|
+
readonly cloud: 915;
|
|
6272
|
+
readonly ce: 2505;
|
|
6273
|
+
}], readonly ["v916", {
|
|
6274
|
+
readonly abap: "9.16";
|
|
6275
|
+
readonly kernel: 916;
|
|
6276
|
+
readonly op: 816;
|
|
6277
|
+
readonly cloud: 916;
|
|
6278
|
+
readonly ce: 2508;
|
|
6279
|
+
}], readonly ["v917", {
|
|
6280
|
+
readonly abap: "9.17";
|
|
6281
|
+
readonly kernel: 917;
|
|
6282
|
+
readonly op: null;
|
|
6283
|
+
readonly cloud: 917;
|
|
6284
|
+
readonly ce: 2511;
|
|
6285
|
+
}], readonly ["v918", {
|
|
6286
|
+
readonly abap: "9.18";
|
|
6287
|
+
readonly kernel: 918;
|
|
6288
|
+
readonly op: null;
|
|
6289
|
+
readonly cloud: 918;
|
|
6290
|
+
readonly ce: 2602;
|
|
6291
|
+
}], readonly ["Newest", {
|
|
6292
|
+
readonly abap: null;
|
|
6293
|
+
readonly kernel: null;
|
|
6294
|
+
readonly op: null;
|
|
6295
|
+
readonly cloud: null;
|
|
6296
|
+
readonly ce: null;
|
|
6297
|
+
}]];
|
|
6298
|
+
|
|
6299
|
+
/** Union of all raw release name strings, e.g. `"v700" | "v758" | "Newest"`. */
|
|
6300
|
+
declare type ReleaseName = (typeof releaseDefsRaw)[number][0];
|
|
6301
|
+
|
|
5953
6302
|
export declare class Rename {
|
|
5954
6303
|
private readonly reg;
|
|
5955
6304
|
constructor(reg: IRegistry);
|
|
@@ -7911,10 +8260,16 @@ export declare enum Version {
|
|
|
7911
8260
|
* restrictions". It expands into the explicit
|
|
7912
8261
|
* Release.Newest + {@link LanguageVersion.Cloud} pair.
|
|
7913
8262
|
*/
|
|
7914
|
-
Cloud = "Cloud"
|
|
7915
|
-
Newest = "Newest"
|
|
8263
|
+
Cloud = "Cloud"
|
|
7916
8264
|
}
|
|
7917
8265
|
|
|
8266
|
+
declare type VersionNew = {
|
|
8267
|
+
release: ReleaseName;
|
|
8268
|
+
language: LanguageVersion;
|
|
8269
|
+
};
|
|
8270
|
+
|
|
8271
|
+
declare type VersionOldOrNew = Version | VersionNew;
|
|
8272
|
+
|
|
7918
8273
|
export declare function versionToABAPRelease(v: Version): ABAPRelease;
|
|
7919
8274
|
|
|
7920
8275
|
declare class View extends AbstractObject {
|
|
@@ -15,16 +15,17 @@ function buildSelectSingleCore(allowInto = false) {
|
|
|
15
15
|
const fieldList = (0, combi_1.optPrio)(_1.SQLFieldList);
|
|
16
16
|
const client = (0, combi_1.optPrio)(_1.SQLClient);
|
|
17
17
|
const byp = (0, combi_1.optPrio)(_1.SQLBypassingBuffer);
|
|
18
|
+
const conn = (0, combi_1.optPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, _1.DatabaseConnection));
|
|
18
19
|
const whereClause = (0, combi_1.optPrio)(where);
|
|
19
20
|
const groupHaving = (0, combi_1.seq)((0, combi_1.optPrio)(sql_group_by_1.SQLGroupBy), (0, combi_1.optPrio)(_1.SQLHaving));
|
|
20
|
-
const trailingOpts = (0, combi_1.seq)(
|
|
21
|
+
const trailingOpts = (0, combi_1.seq)(conn, (0, combi_1.optPrio)(_1.SQLHints), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(_1.SQLOptions));
|
|
21
22
|
const intoSingle = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
|
|
22
23
|
if (!allowInto) {
|
|
23
24
|
const singleBody = (0, combi_1.seq)(_1.SQLFrom, client, byp, whereClause, groupHaving, trailingOpts);
|
|
24
25
|
return (0, combi_1.seq)(fieldList, singleBody);
|
|
25
26
|
}
|
|
26
|
-
const singleAfterFrom = (0, combi_1.seq)(_1.SQLFrom, client, byp,
|
|
27
|
-
const singleIntoBeforeFrom = (0, combi_1.seq)(intoSingle, _1.SQLFrom, client, byp,
|
|
27
|
+
const singleAfterFrom = (0, combi_1.seq)(_1.SQLFrom, client, byp, conn, (0, combi_1.altPrio)((0, combi_1.seq)(intoSingle, byp, whereClause, groupHaving, trailingOpts), (0, combi_1.seq)((0, combi_1.optPrio)(sqlFields), whereClause, groupHaving, trailingOpts, (0, combi_1.optPrio)(intoSingle), conn)));
|
|
28
|
+
const singleIntoBeforeFrom = (0, combi_1.seq)(intoSingle, _1.SQLFrom, client, byp, conn, whereClause, groupHaving, trailingOpts);
|
|
28
29
|
return (0, combi_1.seq)(fieldList, byp, (0, combi_1.altPrio)(singleIntoBeforeFrom, singleAfterFrom));
|
|
29
30
|
}
|
|
30
31
|
function buildSelectCore(allowInto = false, allowOrderBy = true) {
|
|
@@ -35,25 +36,26 @@ function buildSelectCore(allowInto = false, allowOrderBy = true) {
|
|
|
35
36
|
const fieldList = (0, combi_1.optPrio)(_1.SQLFieldList);
|
|
36
37
|
const client = (0, combi_1.optPrio)(_1.SQLClient);
|
|
37
38
|
const byp = (0, combi_1.optPrio)(_1.SQLBypassingBuffer);
|
|
39
|
+
const conn = (0, combi_1.optPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, _1.DatabaseConnection));
|
|
38
40
|
const fae = (0, combi_1.optPrio)(_1.SQLForAllEntries);
|
|
39
41
|
const whereClause = (0, combi_1.optPrio)(where);
|
|
40
42
|
const groupHaving = (0, combi_1.seq)((0, combi_1.optPrio)(sql_group_by_1.SQLGroupBy), (0, combi_1.optPrio)(_1.SQLHaving));
|
|
41
43
|
const orderUpOff = allowOrderBy
|
|
42
44
|
? [(0, combi_1.optPrio)((0, combi_1.seq)(_1.SQLOrderBy, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), (0, combi_1.optPrio)(offset)))]
|
|
43
45
|
: [];
|
|
44
|
-
const trailingOpts = (0, combi_1.seq)(
|
|
46
|
+
const trailingOpts = (0, combi_1.seq)(conn, (0, combi_1.optPrio)(_1.SQLHints), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(_1.SQLOptions));
|
|
45
47
|
const intoSingle = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
|
|
46
48
|
const intoForPackSize = _1.SQLIntoTable;
|
|
47
49
|
if (!allowInto) {
|
|
48
50
|
const afterFromNoInto = (0, combi_1.seq)(_1.SQLFrom, client, byp, (0, combi_1.seq)((0, combi_1.optPrio)(sqlFields), fae, whereClause, groupHaving, ...orderUpOff, trailingOpts));
|
|
49
51
|
return (0, combi_1.altPrio)((0, combi_1.seq)("SINGLE", buildSelectSingleCore(false)), (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), fieldList, byp, afterFromNoInto));
|
|
50
52
|
}
|
|
51
|
-
const fromPackSize = (0, combi_1.seq)((0, combi_1.optPrio)(_1.SQLPackageSize), (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp,
|
|
53
|
+
const fromPackSize = (0, combi_1.seq)((0, combi_1.optPrio)(_1.SQLPackageSize), (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, conn, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo));
|
|
52
54
|
const trailingInto = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)((0, combi_1.seq)(intoForPackSize, (0, combi_1.optPrio)(_1.SQLPackageSize), byp, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, (0, combi_1.optPrio)(offset), (0, combi_1.optPrio)(_1.SQLOrderBy)), (0, combi_1.seq)(intoSingle, byp, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, (0, combi_1.optPrio)(offset)))), (0, combi_1.optPrio)(_1.SQLOptions));
|
|
53
|
-
const afterFromWithInto = (0, combi_1.seq)((0, combi_1.optPrio)(_1.SQLFrom), client, byp, fromPackSize, (0, combi_1.altPrio)((0, combi_1.seq)(intoForPackSize, (0, combi_1.optPrio)(_1.SQLPackageSize), byp,
|
|
55
|
+
const afterFromWithInto = (0, combi_1.seq)((0, combi_1.optPrio)(_1.SQLFrom), client, byp, fromPackSize, (0, combi_1.altPrio)((0, combi_1.seq)(intoForPackSize, (0, combi_1.optPrio)(_1.SQLPackageSize), byp, conn, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, (0, combi_1.optPrio)(offset), fae, whereClause, groupHaving, ...orderUpOff, trailingOpts), (0, combi_1.seq)(intoSingle, byp, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, fae, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, (0, combi_1.optPrio)(offset), whereClause, groupHaving, ...orderUpOff, trailingOpts), (0, combi_1.seq)((0, combi_1.optPrio)(sqlFields), fae, whereClause, groupHaving, ...orderUpOff, trailingOpts, trailingInto)));
|
|
54
56
|
const selectTableIntoThenFrom = (0, combi_1.seq)(intoForPackSize, (0, combi_1.optPrio)(_1.SQLPackageSize));
|
|
55
57
|
const selectOtherIntoThenFrom = intoSingle;
|
|
56
|
-
const nonSingleBody = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), fieldList, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, (0, combi_1.optPrio)((0, combi_1.altPrio)(selectTableIntoThenFrom, selectOtherIntoThenFrom)), (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp,
|
|
58
|
+
const nonSingleBody = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), fieldList, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, (0, combi_1.optPrio)((0, combi_1.altPrio)(selectTableIntoThenFrom, selectOtherIntoThenFrom)), (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), byp, conn, afterFromWithInto);
|
|
57
59
|
return (0, combi_1.altPrio)((0, combi_1.seq)("SINGLE", buildSelectSingleCore(true)), nonSingleBody);
|
|
58
60
|
}
|
|
59
61
|
//# sourceMappingURL=_select_core.js.map
|
|
@@ -11,9 +11,15 @@ const version_1 = require("../../../version");
|
|
|
11
11
|
class AssignSource extends combi_1.Expression {
|
|
12
12
|
getRunnable() {
|
|
13
13
|
const component = (0, combi_1.seq)("COMPONENT", (0, combi_1.alt)(simple_source3_1.SimpleSource3, (0, combi_1.ver)(version_1.Release.v740sp02, source_1.Source, { also: combi_1.AlsoIn.OpenABAP })), "OF STRUCTURE", source_1.Source);
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
// TABLE FIELD form: blocked in KeyUser
|
|
15
|
+
const tableField = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("TABLE FIELD", (0, combi_1.alt)(source_1.Source, dynamic_1.Dynamic)));
|
|
16
|
+
// class=>(dyn_attr) via static arrow is blocked in KeyUser
|
|
17
|
+
// ref->(dyn_comp) via instance arrow is allowed — leave unguarded
|
|
18
|
+
const arrowDynamic = (0, combi_1.alt)((0, combi_1.tok)(tokens_1.InstanceArrow), (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.tok)(tokens_1.StaticArrow)));
|
|
19
|
+
const anyArrow = (0, combi_1.alt)((0, combi_1.tok)(tokens_1.InstanceArrow), (0, combi_1.tok)(tokens_1.StaticArrow));
|
|
20
|
+
const source = (0, combi_1.alt)((0, combi_1.seq)(source_1.Source, (0, combi_1.opt)((0, combi_1.seq)(arrowDynamic, dynamic_1.Dynamic))), component, tableField,
|
|
21
|
+
// standalone dynamic symbol (dyn_sym) blocked in KeyUser
|
|
22
|
+
(0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)(dynamic_1.Dynamic, (0, combi_1.opt)((0, combi_1.seq)(anyArrow, (0, combi_1.alt)(field_1.Field, dynamic_1.Dynamic))))));
|
|
17
23
|
return source;
|
|
18
24
|
}
|
|
19
25
|
}
|
|
@@ -3,8 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DatabaseTable = void 0;
|
|
4
4
|
const combi_1 = require("../combi");
|
|
5
5
|
const dynamic_1 = require("./dynamic");
|
|
6
|
+
const version_1 = require("../../../version");
|
|
6
7
|
class DatabaseTable extends combi_1.Expression {
|
|
8
|
+
constructor(noDynamic = false) {
|
|
9
|
+
super();
|
|
10
|
+
this.noDynamic = noDynamic;
|
|
11
|
+
}
|
|
7
12
|
getRunnable() {
|
|
13
|
+
if (this.noDynamic) {
|
|
14
|
+
return (0, combi_1.altPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, dynamic_1.Dynamic), (0, combi_1.regex)(/^\*?(\/\w+\/)?\w+$/));
|
|
15
|
+
}
|
|
8
16
|
return (0, combi_1.altPrio)(dynamic_1.Dynamic, (0, combi_1.regex)(/^\*?(\/\w+\/)?\w+$/));
|
|
9
17
|
}
|
|
10
18
|
}
|
|
@@ -9,7 +9,7 @@ const _select_core_1 = require("./_select_core");
|
|
|
9
9
|
class Select extends combi_1.Expression {
|
|
10
10
|
getRunnable() {
|
|
11
11
|
const into = (0, combi_1.altPrio)(_1.SQLIntoTable, sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
|
|
12
|
-
const standalone = (0, combi_1.altPrio)((0, combi_1.seq)("SINGLE", (0, combi_1.optPrio)("FOR UPDATE"), (0, _select_core_1.buildSelectSingleCore)(true)), (0, _select_core_1.buildSelectCore)(true));
|
|
12
|
+
const standalone = (0, combi_1.altPrio)((0, combi_1.seq)("SINGLE", (0, combi_1.optPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, "FOR UPDATE")), (0, _select_core_1.buildSelectSingleCore)(true)), (0, _select_core_1.buildSelectCore)(true));
|
|
13
13
|
const unionTail = (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.plusPrio)(_1.SQLSetOp), { also: combi_1.AlsoIn.OpenABAP });
|
|
14
14
|
const chained = (0, combi_1.seq)((0, _select_core_1.buildSelectCore)(false, false), unionTail, (0, combi_1.optPrio)(_1.SQLOrderBy), (0, combi_1.optPrio)(into));
|
|
15
15
|
return (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)(chained, standalone));
|
|
@@ -15,8 +15,9 @@ class SelectCTE extends combi_1.Expression {
|
|
|
15
15
|
const bypass = "BYPASSING BUFFER";
|
|
16
16
|
const privileged = (0, combi_1.ver)(version_1.Release.v758, _1.SQLPrivilegedAccess);
|
|
17
17
|
const offset = (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("OFFSET", sql_source_1.SQLSource));
|
|
18
|
+
const conn = (0, combi_1.optPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, _1.DatabaseConnection));
|
|
18
19
|
const groupHaving = (0, combi_1.seq)((0, combi_1.optPrio)(_1.SQLGroupBy), (0, combi_1.optPrio)(_1.SQLHaving));
|
|
19
|
-
const tail = (0, combi_1.seq)(groupHaving, (0, combi_1.optPrio)((0, combi_1.seq)(_1.SQLOrderBy, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), (0, combi_1.optPrio)(offset))), (0, combi_1.optPrio)(_1.SQLHints), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(_1.SQLOptions),
|
|
20
|
+
const tail = (0, combi_1.seq)(groupHaving, (0, combi_1.optPrio)((0, combi_1.seq)(_1.SQLOrderBy, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), (0, combi_1.optPrio)(offset))), (0, combi_1.optPrio)(_1.SQLHints), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(_1.SQLOptions), conn);
|
|
20
21
|
const sqlStyle = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(bypass), (0, combi_1.ver)(version_1.Release.v750, sql_fields_loop_1.SQLFieldsLoop, { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)(where), tail);
|
|
21
22
|
const abapStyle = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_greedy_1.SQLFieldListLoopGreedy, _1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(bypass), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)(where), tail);
|
|
22
23
|
const union = (0, combi_1.seq)("UNION", (0, combi_1.optPrio)((0, combi_1.altPrio)("DISTINCT", "ALL")));
|
|
@@ -9,7 +9,7 @@ const dynamic_1 = require("./dynamic");
|
|
|
9
9
|
class SQLClient extends combi_1.Expression {
|
|
10
10
|
getRunnable() {
|
|
11
11
|
const clientList = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.alt)(dynamic_1.Dynamic, (0, combi_1.seq)(sql_alias_field_1.SQLAliasField, (0, combi_1.starPrio)((0, combi_1.seq)(",", sql_alias_field_1.SQLAliasField)))));
|
|
12
|
-
const client = (0, combi_1.alt)((0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("CLIENT SPECIFIED", (0, combi_1.optPrio)(clientList))), (0, combi_1.seq)("USING", (0, combi_1.alt)((0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)("CLIENT", sql_source_simple_1.SQLSourceSimple)), (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("CLIENTS IN", (0, combi_1.alt)(sql_source_simple_1.SQLSourceSimple, "T000"))), (0, combi_1.ver)(version_1.Release.v754, "ALL CLIENTS"))));
|
|
12
|
+
const client = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.alt)((0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("CLIENT SPECIFIED", (0, combi_1.optPrio)(clientList))), (0, combi_1.seq)("USING", (0, combi_1.alt)((0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)("CLIENT", sql_source_simple_1.SQLSourceSimple)), (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("CLIENTS IN", (0, combi_1.alt)(sql_source_simple_1.SQLSourceSimple, "T000"))), (0, combi_1.ver)(version_1.Release.v754, "ALL CLIENTS")))));
|
|
13
13
|
return client;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -4,20 +4,21 @@ exports.SQLFrom = void 0;
|
|
|
4
4
|
const combi_1 = require("../combi");
|
|
5
5
|
const tokens_1 = require("../../1_lexer/tokens");
|
|
6
6
|
const _1 = require(".");
|
|
7
|
+
const version_1 = require("../../../version");
|
|
7
8
|
class SQLFrom extends combi_1.Expression {
|
|
8
9
|
// todo: rewrite/refactor this method
|
|
9
10
|
getRunnable() {
|
|
10
11
|
const joins = (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), _1.SQLJoin));
|
|
11
12
|
// No opening parens
|
|
12
13
|
const from0 = (0, combi_1.seq)("FROM", _1.SQLFromSource, joins);
|
|
13
|
-
// 1 to 7 opening parens, with up to that many closing parens at the end
|
|
14
|
-
const from1 = (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
15
|
-
const from2 = (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
16
|
-
const from3 = (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
17
|
-
const from4 = (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
18
|
-
const from5 = (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
19
|
-
const from6 = (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
20
|
-
const from7 = (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
14
|
+
// 1 to 7 opening parens, with up to that many closing parens at the end (dynamic FROM, not allowed in KeyUser)
|
|
15
|
+
const from1 = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW))));
|
|
16
|
+
const from2 = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW))));
|
|
17
|
+
const from3 = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW))));
|
|
18
|
+
const from4 = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW))));
|
|
19
|
+
const from5 = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW))));
|
|
20
|
+
const from6 = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW))));
|
|
21
|
+
const from7 = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FROM", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFromSource, joins, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW))));
|
|
21
22
|
const source = (0, combi_1.altPrio)(from7, from6, from5, from4, from3, from2, from1, from0);
|
|
22
23
|
return source;
|
|
23
24
|
}
|
|
@@ -16,7 +16,8 @@ class SQLFromSource extends combi_1.Expression {
|
|
|
16
16
|
const tab = (0, combi_1.ver)(version_1.Release.v752, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.FieldChain), { also: combi_1.AlsoIn.OpenABAP });
|
|
17
17
|
const aas = (0, combi_1.seq)("AS", _1.SQLAsName);
|
|
18
18
|
const privileged = (0, combi_1.ver)(version_1.Release.v752, (0, combi_1.seq)("WITH", _1.SQLPrivilegedAccess));
|
|
19
|
-
|
|
19
|
+
const pathForEntity = (0, combi_1.optPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, new sql_path_for_entity_1.SQLPathForEntity()));
|
|
20
|
+
return (0, combi_1.seq)((0, combi_1.altPrio)(new sql_hierarchy_aggregate_1.SQLHierarchyAggregate(), new sql_hierarchy_accessor_1.SQLHierarchyAccessor(), new sql_hierarchy_source_1.SQLHierarchySource(), (0, combi_1.seq)(with_name_1.WithName, pathForEntity), (0, combi_1.seq)(new _1.DatabaseTable(true), (0, combi_1.optPrio)(_1.SQLCDSParameters), pathForEntity), tab), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(aas));
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
exports.SQLFromSource = SQLFromSource;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Add = void 0;
|
|
4
|
+
const version_1 = require("../../../version");
|
|
4
5
|
const combi_1 = require("../combi");
|
|
5
6
|
const expressions_1 = require("../expressions");
|
|
6
7
|
class Add {
|
|
@@ -10,7 +11,7 @@ class Add {
|
|
|
10
11
|
const giving = (0, combi_1.seq)("GIVING", expressions_1.Source);
|
|
11
12
|
const then = (0, combi_1.seq)("THEN", expressions_1.Source, "UNTIL", expressions_1.Source, (0, combi_1.opt)((0, combi_1.per)(giving, accordingTo)), (0, combi_1.opt)(to));
|
|
12
13
|
const ret = (0, combi_1.seq)("ADD", expressions_1.Source, (0, combi_1.altPrio)(to, then));
|
|
13
|
-
return ret;
|
|
14
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
exports.Add = Add;
|
|
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Assert = void 0;
|
|
4
4
|
const combi_1 = require("../combi");
|
|
5
5
|
const expressions_1 = require("../expressions");
|
|
6
|
+
const version_1 = require("../../../version");
|
|
6
7
|
class Assert {
|
|
7
8
|
getMatcher() {
|
|
8
9
|
const fields = (0, combi_1.seq)("FIELDS", (0, combi_1.plus)(expressions_1.Source));
|
|
9
10
|
const subkey = (0, combi_1.seq)("SUBKEY", expressions_1.Source);
|
|
10
11
|
const id = (0, combi_1.seq)("ID", expressions_1.NamespaceSimpleName);
|
|
11
|
-
return (0, combi_1.seq)("ASSERT", (0, combi_1.optPrio)(id), (0, combi_1.optPrio)(subkey), (0, combi_1.opt)(fields), (0, combi_1.optPrio)("CONDITION"), expressions_1.Cond);
|
|
12
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("ASSERT", (0, combi_1.optPrio)(id), (0, combi_1.optPrio)(subkey), (0, combi_1.opt)(fields), (0, combi_1.optPrio)("CONDITION"), expressions_1.Cond));
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
exports.Assert = Assert;
|
|
@@ -6,14 +6,19 @@ const expressions_1 = require("../expressions");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class Assign {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
const
|
|
9
|
+
const dynamicType = (0, combi_1.altPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, expressions_1.Dynamic), expressions_1.TypeName);
|
|
10
|
+
const type = (0, combi_1.seq)("TYPE", dynamicType);
|
|
10
11
|
const like = (0, combi_1.seq)("LIKE", (0, combi_1.altPrio)(expressions_1.Dynamic, expressions_1.Source));
|
|
11
12
|
const handle = (0, combi_1.seq)("TYPE HANDLE", expressions_1.Source);
|
|
12
13
|
const range = (0, combi_1.seq)("RANGE", expressions_1.Source);
|
|
13
14
|
const decimals = (0, combi_1.seq)("DECIMALS", expressions_1.Source);
|
|
14
|
-
const
|
|
15
|
+
const castingType = (0, combi_1.seq)("CASTING", (0, combi_1.opt)((0, combi_1.alt)(like, handle, (0, combi_1.per)(type, decimals))));
|
|
16
|
+
// CASTING TYPE (dyntype) blocked in KeyUser
|
|
17
|
+
const casting = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, castingType);
|
|
15
18
|
const obsoleteType = (0, combi_1.seq)("TYPE", expressions_1.Source, (0, combi_1.optPrio)(decimals));
|
|
16
|
-
const ret = (0, combi_1.seq)("ASSIGN",
|
|
19
|
+
const ret = (0, combi_1.seq)("ASSIGN",
|
|
20
|
+
// INCREMENT addition blocked in KeyUser
|
|
21
|
+
(0, combi_1.opt)((0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)(expressions_1.Target, "INCREMENT"))), expressions_1.AssignSource, "TO", expressions_1.FSTarget, (0, combi_1.opt)((0, combi_1.altPrio)(casting, obsoleteType, decimals)), (0, combi_1.opt)(range), (0, combi_1.opt)((0, combi_1.ver)(version_1.Release.v757, "ELSE UNASSIGN")));
|
|
17
22
|
return ret;
|
|
18
23
|
}
|
|
19
24
|
}
|