@sap/cds-compiler 2.15.8 → 3.1.0
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/CHANGELOG.md +102 -1590
- package/bin/.eslintrc.json +2 -1
- package/bin/cdsc.js +61 -46
- package/doc/API.md +11 -0
- package/doc/CHANGELOG_ARCHIVE.md +1592 -0
- package/doc/CHANGELOG_BETA.md +26 -5
- package/doc/CHANGELOG_DEPRECATED.md +55 -1
- package/doc/{DeprecatedOptions.md → DeprecatedOptions_v2.md} +3 -1
- package/doc/Versioning.md +20 -1
- package/lib/api/.eslintrc.json +2 -2
- package/lib/api/main.js +282 -156
- package/lib/api/options.js +17 -88
- package/lib/api/validate.js +6 -10
- package/lib/base/keywords.js +280 -110
- package/lib/base/message-registry.js +85 -25
- package/lib/base/messages.js +119 -89
- package/lib/base/model.js +46 -2
- package/lib/base/optionProcessorHelper.js +53 -21
- package/lib/checks/actionsFunctions.js +15 -12
- package/lib/checks/annotationsOData.js +1 -1
- package/lib/checks/cdsPersistence.js +1 -0
- package/lib/checks/elements.js +6 -6
- package/lib/checks/invalidTarget.js +1 -1
- package/lib/checks/nonexpandableStructured.js +1 -1
- package/lib/checks/queryNoDbArtifacts.js +2 -1
- package/lib/checks/selectItems.js +101 -15
- package/lib/checks/types.js +7 -8
- package/lib/checks/utils.js +2 -2
- package/lib/checks/validator.js +3 -3
- package/lib/compiler/assert-consistency.js +78 -21
- package/lib/compiler/base.js +6 -4
- package/lib/compiler/builtins.js +177 -10
- package/lib/compiler/checks.js +1 -1
- package/lib/compiler/define.js +28 -23
- package/lib/compiler/extend.js +75 -18
- package/lib/compiler/finalize-parse-cdl.js +25 -18
- package/lib/compiler/index.js +27 -11
- package/lib/compiler/moduleLayers.js +7 -0
- package/lib/compiler/populate.js +26 -39
- package/lib/compiler/propagator.js +12 -7
- package/lib/compiler/resolve.js +207 -236
- package/lib/compiler/shared.js +100 -93
- package/lib/compiler/tweak-assocs.js +13 -20
- package/lib/compiler/utils.js +20 -6
- package/lib/edm/annotations/preprocessAnnotations.js +12 -13
- package/lib/edm/csn2edm.js +35 -37
- package/lib/edm/edm.js +22 -13
- package/lib/edm/edmAnnoPreprocessor.js +349 -0
- package/lib/edm/edmInboundChecks.js +85 -0
- package/lib/edm/edmPreprocessor.js +338 -689
- package/lib/edm/edmUtils.js +97 -67
- package/lib/gen/Dictionary.json +29 -9
- package/lib/gen/language.checksum +1 -1
- package/lib/gen/language.interp +8 -31
- package/lib/gen/language.tokens +105 -114
- package/lib/gen/languageLexer.interp +1 -34
- package/lib/gen/languageLexer.js +892 -1007
- package/lib/gen/languageLexer.tokens +95 -106
- package/lib/gen/languageParser.js +20629 -22474
- package/lib/inspect/.eslintrc.json +4 -0
- package/lib/inspect/index.js +14 -0
- package/lib/inspect/inspectModelStatistics.js +81 -0
- package/lib/inspect/inspectPropagation.js +189 -0
- package/lib/inspect/inspectUtils.js +44 -0
- package/lib/json/from-csn.js +74 -69
- package/lib/json/to-csn.js +17 -14
- package/lib/language/antlrParser.js +2 -2
- package/lib/language/docCommentParser.js +61 -38
- package/lib/language/errorStrategy.js +52 -40
- package/lib/language/genericAntlrParser.js +424 -292
- package/lib/language/language.g4 +604 -687
- package/lib/language/multiLineStringParser.js +14 -42
- package/lib/language/textUtils.js +44 -0
- package/lib/main.d.ts +28 -42
- package/lib/main.js +104 -81
- package/lib/model/api.js +1 -1
- package/lib/model/csnRefs.js +57 -30
- package/lib/model/csnUtils.js +189 -287
- package/lib/model/revealInternalProperties.js +32 -10
- package/lib/model/sortViews.js +32 -31
- package/lib/modelCompare/compare.js +3 -0
- package/lib/optionProcessor.js +91 -57
- package/lib/render/.eslintrc.json +1 -1
- package/lib/render/DuplicateChecker.js +4 -7
- package/lib/render/manageConstraints.js +70 -2
- package/lib/render/toCdl.js +387 -367
- package/lib/render/toHdbcds.js +20 -16
- package/lib/render/toRename.js +44 -22
- package/lib/render/toSql.js +81 -59
- package/lib/render/utils/common.js +16 -3
- package/lib/render/utils/sql.js +20 -19
- package/lib/sql-identifier.js +6 -0
- package/lib/transform/db/.eslintrc.json +3 -2
- package/lib/transform/db/associations.js +43 -35
- package/lib/transform/db/cdsPersistence.js +5 -16
- package/lib/transform/db/constraints.js +1 -1
- package/lib/transform/db/expansion.js +7 -6
- package/lib/transform/db/flattening.js +16 -18
- package/lib/transform/db/transformExists.js +7 -5
- package/lib/transform/db/views.js +3 -3
- package/lib/transform/draft/.eslintrc.json +2 -2
- package/lib/transform/draft/db.js +6 -6
- package/lib/transform/draft/odata.js +6 -7
- package/lib/transform/forHanaNew.js +30 -24
- package/lib/transform/forOdataNew.js +14 -16
- package/lib/transform/localized.js +35 -25
- package/lib/transform/odata/toFinalBaseType.js +10 -10
- package/lib/transform/odata/typesExposure.js +17 -8
- package/lib/transform/odata/utils.js +1 -38
- package/lib/transform/transformUtilsNew.js +63 -77
- package/lib/transform/translateAssocsToJoins.js +2 -2
- package/lib/transform/universalCsn/.eslintrc.json +2 -2
- package/lib/transform/universalCsn/coreComputed.js +11 -6
- package/lib/transform/universalCsn/universalCsnEnricher.js +33 -5
- package/lib/utils/file.js +31 -21
- package/lib/utils/moduleResolve.js +0 -1
- package/lib/utils/timetrace.js +20 -21
- package/package.json +34 -4
- package/share/messages/syntax-expected-integer.md +9 -8
- package/doc/ApiMigration.md +0 -237
- package/doc/CommandLineMigration.md +0 -58
- package/doc/ErrorMessages.md +0 -175
- package/doc/FioriAnnotations.md +0 -94
- package/doc/ODataTransformation.md +0 -273
- package/lib/backends.js +0 -529
- package/lib/checks/unknownMagic.js +0 -41
- package/lib/fix_antlr4-8_warning.js +0 -56
package/lib/base/keywords.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const { functionsWithoutParens } = require(
|
|
3
|
+
const { functionsWithoutParens } = require('../compiler/builtins');
|
|
4
4
|
|
|
5
5
|
module.exports = {
|
|
6
6
|
// CDL reserved keywords, used for automatic quoting in 'toCdl' renderer
|
|
@@ -26,9 +26,9 @@ module.exports = {
|
|
|
26
26
|
'ON',
|
|
27
27
|
'SELECT',
|
|
28
28
|
'SOME',
|
|
29
|
-
'WHEN',
|
|
30
29
|
'TRIM',
|
|
31
30
|
'TRUE', // boolean
|
|
31
|
+
'WHEN',
|
|
32
32
|
'WHERE',
|
|
33
33
|
'WITH',
|
|
34
34
|
],
|
|
@@ -45,6 +45,7 @@ module.exports = {
|
|
|
45
45
|
'AFTER',
|
|
46
46
|
'ALL',
|
|
47
47
|
'ALTER',
|
|
48
|
+
'ALWAYS',
|
|
48
49
|
'ANALYZE',
|
|
49
50
|
'AND',
|
|
50
51
|
'AS',
|
|
@@ -85,18 +86,22 @@ module.exports = {
|
|
|
85
86
|
'END',
|
|
86
87
|
'ESCAPE',
|
|
87
88
|
'EXCEPT',
|
|
89
|
+
'EXCLUDE',
|
|
88
90
|
'EXCLUSIVE',
|
|
89
91
|
'EXISTS',
|
|
90
92
|
'EXPLAIN',
|
|
91
93
|
'FAIL',
|
|
92
94
|
'FILTER',
|
|
95
|
+
'FIRST',
|
|
93
96
|
'FOLLOWING',
|
|
94
97
|
'FOR',
|
|
95
98
|
'FOREIGN',
|
|
96
99
|
'FROM',
|
|
97
100
|
'FULL',
|
|
101
|
+
'GENERATED',
|
|
98
102
|
'GLOB',
|
|
99
103
|
'GROUP',
|
|
104
|
+
'GROUPS',
|
|
100
105
|
'HAVING',
|
|
101
106
|
'IF',
|
|
102
107
|
'IGNORE',
|
|
@@ -114,21 +119,25 @@ module.exports = {
|
|
|
114
119
|
'ISNULL',
|
|
115
120
|
'JOIN',
|
|
116
121
|
'KEY',
|
|
122
|
+
'LAST',
|
|
117
123
|
'LEFT',
|
|
118
124
|
'LIKE',
|
|
119
125
|
'LIMIT',
|
|
120
126
|
'MATCH',
|
|
127
|
+
'MATERIALIZED',
|
|
121
128
|
'NATURAL',
|
|
122
129
|
'NO',
|
|
123
130
|
'NOT',
|
|
124
131
|
'NOTHING',
|
|
125
132
|
'NOTNULL',
|
|
126
133
|
'NULL',
|
|
134
|
+
'NULLS',
|
|
127
135
|
'OF',
|
|
128
136
|
'OFFSET',
|
|
129
137
|
'ON',
|
|
130
138
|
'OR',
|
|
131
139
|
'ORDER',
|
|
140
|
+
'OTHERS',
|
|
132
141
|
'OUTER',
|
|
133
142
|
'OVER',
|
|
134
143
|
'PARTITION',
|
|
@@ -147,6 +156,7 @@ module.exports = {
|
|
|
147
156
|
'RENAME',
|
|
148
157
|
'REPLACE',
|
|
149
158
|
'RESTRICT',
|
|
159
|
+
'RETURNING',
|
|
150
160
|
'RIGHT',
|
|
151
161
|
'ROLLBACK',
|
|
152
162
|
'ROW',
|
|
@@ -158,6 +168,7 @@ module.exports = {
|
|
|
158
168
|
'TEMP',
|
|
159
169
|
'TEMPORARY',
|
|
160
170
|
'THEN',
|
|
171
|
+
'TIES',
|
|
161
172
|
'TO',
|
|
162
173
|
'TRANSACTION',
|
|
163
174
|
'TRIGGER',
|
|
@@ -174,107 +185,16 @@ module.exports = {
|
|
|
174
185
|
'WHERE',
|
|
175
186
|
'WINDOW',
|
|
176
187
|
'WITH',
|
|
177
|
-
'WITHOUT'
|
|
178
|
-
'ALWAYS',
|
|
179
|
-
'EXCLUDE',
|
|
180
|
-
'FIRST',
|
|
181
|
-
'GENERATED',
|
|
182
|
-
'GROUPS',
|
|
183
|
-
'LAST',
|
|
184
|
-
'NULLS',
|
|
185
|
-
'OTHERS',
|
|
186
|
-
'TIES',
|
|
188
|
+
'WITHOUT'
|
|
187
189
|
],
|
|
188
190
|
// SAP HANA keywords, used for smart quoting in to-hdi.plain
|
|
189
191
|
// Taken from https://help.sap.com/viewer/7c78579ce9b14a669c1f3295b0d8ca16/Cloud/en-US/28bcd6af3eb6437892719f7c27a8a285.html
|
|
190
192
|
// Better use keywords in ptime/query/parser/syntax/qp_keyword.cc minus those
|
|
191
|
-
// in rule unreserved_keyword_column (=…_common -
|
|
193
|
+
// in rule unreserved_keyword_column (=…_common - 'CONSTRAINT') in
|
|
192
194
|
// ptime/query/parser/syntax/qp_gram.y of the HANA sources.
|
|
193
195
|
hana: [
|
|
194
|
-
'
|
|
195
|
-
'
|
|
196
|
-
'AS',
|
|
197
|
-
'BEFORE',
|
|
198
|
-
'BEGIN',
|
|
199
|
-
'BOTH',
|
|
200
|
-
'CASE',
|
|
201
|
-
'CHAR',
|
|
202
|
-
'CONDITION',
|
|
203
|
-
'CONNECT',
|
|
204
|
-
'CROSS',
|
|
205
|
-
'CUBE',
|
|
206
|
-
'CURRENT_CONNECTION',
|
|
207
|
-
'CURRENT_DATE',
|
|
208
|
-
'CURRENT_SCHEMA',
|
|
209
|
-
'CURRENT_TIME',
|
|
210
|
-
'CURRENT_TIMESTAMP',
|
|
211
|
-
'CURRENT_TRANSACTION_ISOLATION_LEVEL',
|
|
212
|
-
'CURRENT_USER',
|
|
213
|
-
'CURRENT_UTCDATE',
|
|
214
|
-
'CURRENT_UTCTIME',
|
|
215
|
-
'CURRENT_UTCTIMESTAMP',
|
|
216
|
-
'CURRVAL',
|
|
217
|
-
'CURSOR',
|
|
218
|
-
'DECLARE',
|
|
219
|
-
'DISTINCT',
|
|
220
|
-
'ELSE',
|
|
221
|
-
'ELSEIF',
|
|
222
|
-
'END',
|
|
223
|
-
'EXCEPT',
|
|
224
|
-
'EXCEPTION',
|
|
225
|
-
'EXEC',
|
|
226
|
-
'FALSE',
|
|
227
|
-
'FOR',
|
|
228
|
-
'FROM',
|
|
229
|
-
'FULL',
|
|
230
|
-
'GROUP',
|
|
231
|
-
'HAVING',
|
|
232
|
-
'IF',
|
|
233
|
-
'IN',
|
|
234
|
-
'INNER',
|
|
235
|
-
'INOUT',
|
|
236
|
-
'INTERSECT',
|
|
237
|
-
'INTO',
|
|
238
|
-
'IS',
|
|
239
|
-
'JOIN',
|
|
240
|
-
'LEADING',
|
|
241
|
-
'LEFT',
|
|
242
|
-
'LIMIT',
|
|
243
|
-
'LOOP',
|
|
244
|
-
'MINUS',
|
|
245
|
-
'NATURAL',
|
|
246
|
-
'NCHAR',
|
|
247
|
-
'NEXTVAL',
|
|
248
|
-
'NULL',
|
|
249
|
-
'ON',
|
|
250
|
-
'ORDER',
|
|
251
|
-
'OUT',
|
|
252
|
-
'PRIOR',
|
|
253
|
-
'RETURN',
|
|
254
|
-
'RETURNS',
|
|
255
|
-
'REVERSE',
|
|
256
|
-
'RIGHT',
|
|
257
|
-
'ROLLUP',
|
|
258
|
-
'ROWID',
|
|
259
|
-
'SELECT',
|
|
260
|
-
'SESSION_USER',
|
|
261
|
-
'SET',
|
|
262
|
-
'SQL',
|
|
263
|
-
'START',
|
|
264
|
-
'SYSUUID',
|
|
265
|
-
'TABLESAMPLE',
|
|
266
|
-
'TOP',
|
|
267
|
-
'TRAILING',
|
|
268
|
-
'TRUE',
|
|
269
|
-
'UNION',
|
|
270
|
-
'UNKNOWN',
|
|
271
|
-
'USING',
|
|
272
|
-
'UTCTIMESTAMP',
|
|
273
|
-
'VALUES',
|
|
274
|
-
'WHEN',
|
|
275
|
-
'WHERE',
|
|
276
|
-
'WHILE',
|
|
277
|
-
'WITH',
|
|
196
|
+
'ABAPITAB',
|
|
197
|
+
'ABAPSTRUCT',
|
|
278
198
|
'ABAP_CHAR',
|
|
279
199
|
'ABAP_DATE',
|
|
280
200
|
'ABAP_DECFLOAT16',
|
|
@@ -289,23 +209,34 @@ module.exports = {
|
|
|
289
209
|
'ABAP_STRING',
|
|
290
210
|
'ABAP_TIME',
|
|
291
211
|
'ABAP_XSTRING',
|
|
292
|
-
'
|
|
293
|
-
'
|
|
212
|
+
'ABS',
|
|
213
|
+
'ACOS',
|
|
294
214
|
'ADD_DAYS',
|
|
295
215
|
'ADD_MONTHS',
|
|
296
216
|
'ADD_SECONDS',
|
|
297
217
|
'ADD_YEARS',
|
|
218
|
+
'ADJACENCY',
|
|
298
219
|
'ADOPT',
|
|
220
|
+
'ALL',
|
|
221
|
+
'ALPHANUM',
|
|
222
|
+
'ALTER',
|
|
299
223
|
'ANALYTIC',
|
|
300
224
|
'ANY',
|
|
301
225
|
'APPLY_FILTER',
|
|
302
226
|
'ARRAY',
|
|
303
227
|
'ARRAY_AGG',
|
|
228
|
+
'AS',
|
|
229
|
+
'ASCII',
|
|
230
|
+
'ASIN',
|
|
304
231
|
'AT',
|
|
232
|
+
'ATAN',
|
|
233
|
+
'ATAN2',
|
|
305
234
|
'AUTHORIZATION',
|
|
306
235
|
'AUTO',
|
|
307
236
|
'AVG',
|
|
308
237
|
'BASIC',
|
|
238
|
+
'BEFORE',
|
|
239
|
+
'BEGIN',
|
|
309
240
|
'BETWEEN',
|
|
310
241
|
'BIGINT',
|
|
311
242
|
'BINARY',
|
|
@@ -317,24 +248,53 @@ module.exports = {
|
|
|
317
248
|
'BIND_DOUBLE',
|
|
318
249
|
'BIND_NCHAR',
|
|
319
250
|
'BIND_REAL',
|
|
251
|
+
'BINTEXT',
|
|
252
|
+
'BINTOHEX',
|
|
253
|
+
'BITAND',
|
|
320
254
|
'BLOB',
|
|
321
255
|
'BOOLEAN',
|
|
256
|
+
'BOTH',
|
|
322
257
|
'BOUNDARY',
|
|
323
258
|
'BREAKUP',
|
|
324
259
|
'BULK',
|
|
325
260
|
'BY',
|
|
261
|
+
'CASE',
|
|
326
262
|
'CAST',
|
|
263
|
+
'CEIL',
|
|
264
|
+
'CEILING',
|
|
265
|
+
'CE_AGGREGATION',
|
|
327
266
|
'CE_CALC',
|
|
267
|
+
'CE_CALC_VIEW',
|
|
268
|
+
'CE_COLUMN_TABLE',
|
|
269
|
+
'CE_COMM2R',
|
|
270
|
+
'CE_CONVERSION',
|
|
271
|
+
'CE_FULL_OUTER_JOIN',
|
|
328
272
|
'CE_JOIN',
|
|
273
|
+
'CE_JOIN_VIEW',
|
|
274
|
+
'CE_LEFT_OUTER_JOIN',
|
|
275
|
+
'CE_MERGE',
|
|
276
|
+
'CE_OLAP_VIEW',
|
|
277
|
+
'CE_PARTITION',
|
|
329
278
|
'CE_PROJECTION',
|
|
279
|
+
'CE_RIGHT_OUTER_JOIN',
|
|
280
|
+
'CE_UNION_ALL',
|
|
281
|
+
'CE_VERTICAL_UNION',
|
|
282
|
+
'CHAR',
|
|
330
283
|
'CHARACTER',
|
|
331
284
|
'CLOB',
|
|
332
285
|
'COALESCE',
|
|
333
286
|
'COLLATE',
|
|
334
287
|
'CONCAT',
|
|
288
|
+
'CONDITION',
|
|
289
|
+
'CONNECT',
|
|
335
290
|
'CONSTANT',
|
|
336
291
|
'CONSTRAINT',
|
|
292
|
+
'COS',
|
|
293
|
+
'COSH',
|
|
294
|
+
'COT',
|
|
337
295
|
'COUNT',
|
|
296
|
+
'CROSS',
|
|
297
|
+
'CS_ALPHANUM',
|
|
338
298
|
'CS_DATE',
|
|
339
299
|
'CS_DAYDATE',
|
|
340
300
|
'CS_DECIMAL_FLOAT',
|
|
@@ -356,9 +316,23 @@ module.exports = {
|
|
|
356
316
|
'CS_TEXT',
|
|
357
317
|
'CS_TEXT_AE',
|
|
358
318
|
'CS_TIME',
|
|
319
|
+
'CS_ZONE',
|
|
320
|
+
'CUBE',
|
|
359
321
|
'CUME_DIST',
|
|
360
322
|
'CURDATE',
|
|
323
|
+
'CURRENT_CONNECTION',
|
|
361
324
|
'CURRENT_DATABASE',
|
|
325
|
+
'CURRENT_DATE',
|
|
326
|
+
'CURRENT_SCHEMA',
|
|
327
|
+
'CURRENT_TIME',
|
|
328
|
+
'CURRENT_TIMESTAMP',
|
|
329
|
+
'CURRENT_TRANSACTION_ISOLATION_LEVEL',
|
|
330
|
+
'CURRENT_USER',
|
|
331
|
+
'CURRENT_UTCDATE',
|
|
332
|
+
'CURRENT_UTCTIME',
|
|
333
|
+
'CURRENT_UTCTIMESTAMP',
|
|
334
|
+
'CURRVAL',
|
|
335
|
+
'CURSOR',
|
|
362
336
|
'CURTIME',
|
|
363
337
|
'CURVE',
|
|
364
338
|
'DATABASE',
|
|
@@ -371,6 +345,7 @@ module.exports = {
|
|
|
371
345
|
'DAYOFWEEK',
|
|
372
346
|
'DAYS_BETWEEN',
|
|
373
347
|
'DDIC_ACCP',
|
|
348
|
+
'DDIC_ALNM',
|
|
374
349
|
'DDIC_CDAY',
|
|
375
350
|
'DDIC_CHAR',
|
|
376
351
|
'DDIC_CLNT',
|
|
@@ -416,27 +391,44 @@ module.exports = {
|
|
|
416
391
|
'DDIC_WEEK',
|
|
417
392
|
'DEC',
|
|
418
393
|
'DECIMAL',
|
|
394
|
+
'DECLARE',
|
|
419
395
|
'DENSE_RANK',
|
|
420
396
|
'DEPTH',
|
|
421
397
|
'DISTANCE',
|
|
398
|
+
'DISTINCT',
|
|
422
399
|
'DOUBLE',
|
|
423
400
|
'DW_OPTIMIZED',
|
|
401
|
+
'ELSE',
|
|
402
|
+
'ELSEIF',
|
|
424
403
|
'EMPTY',
|
|
404
|
+
'END',
|
|
405
|
+
'EXCEPT',
|
|
406
|
+
'EXCEPTION',
|
|
407
|
+
'EXEC',
|
|
425
408
|
'EXISTS',
|
|
409
|
+
'EXP',
|
|
426
410
|
'EXTRACT',
|
|
411
|
+
'FALSE',
|
|
427
412
|
'FILTER',
|
|
428
413
|
'FIRST_VALUE',
|
|
429
414
|
'FLATTEN',
|
|
430
415
|
'FLOAT',
|
|
416
|
+
'FLOOR',
|
|
417
|
+
'FOR',
|
|
431
418
|
'FORCE_FIRST_PASSWORD_CHANGE',
|
|
432
419
|
'FREESTYLESEARCHATTRIBUTE',
|
|
420
|
+
'FROM',
|
|
421
|
+
'FULL',
|
|
433
422
|
'GET_NUM_SERVERS',
|
|
434
423
|
'GREATEST',
|
|
424
|
+
'GROUP',
|
|
435
425
|
'GROUPING',
|
|
436
426
|
'GROUPING_FILTER',
|
|
437
427
|
'GROUPING_ID',
|
|
428
|
+
'GROUP_SCORE',
|
|
438
429
|
'HASANYPRIVILEGES',
|
|
439
430
|
'HASSYSTEMPRIVILEGE',
|
|
431
|
+
'HAVING',
|
|
440
432
|
'HEXTOBIN',
|
|
441
433
|
'HIERARCHY',
|
|
442
434
|
'HIERARCHY_ANCESTORS',
|
|
@@ -447,34 +439,52 @@ module.exports = {
|
|
|
447
439
|
'HIERARCHY_SIBLINGS',
|
|
448
440
|
'HIERARCHY_SPANTREE',
|
|
449
441
|
'HIERARCHY_TEMPORAL',
|
|
442
|
+
'HIGHLIGHTED',
|
|
450
443
|
'HILBERT',
|
|
451
444
|
'HOST',
|
|
452
445
|
'HOUR',
|
|
446
|
+
'IF',
|
|
453
447
|
'IFNULL',
|
|
448
|
+
'IN',
|
|
449
|
+
'INNER',
|
|
450
|
+
'INOUT',
|
|
454
451
|
'INSTR',
|
|
455
452
|
'INT',
|
|
456
453
|
'INTEGER',
|
|
457
454
|
'INTERNAL',
|
|
458
|
-
'
|
|
455
|
+
'INTERSECT',
|
|
456
|
+
'INTO',
|
|
457
|
+
'IS',
|
|
459
458
|
'ISAUTHORIZED',
|
|
460
459
|
'ISTOTAL',
|
|
460
|
+
'IS_EMPTY',
|
|
461
|
+
'JOIN',
|
|
461
462
|
'JSON_QUERY',
|
|
462
463
|
'JSON_TABLE',
|
|
463
464
|
'JSON_VALUE',
|
|
464
465
|
'LAG',
|
|
466
|
+
'LANGUAGE',
|
|
465
467
|
'LAST_DAY',
|
|
466
468
|
'LAST_VALUE',
|
|
467
469
|
'LATERAL',
|
|
468
470
|
'LAYOUT',
|
|
471
|
+
'LCASE',
|
|
469
472
|
'LEAD',
|
|
473
|
+
'LEADING',
|
|
470
474
|
'LEAST',
|
|
471
475
|
'LEAVES',
|
|
476
|
+
'LEFT',
|
|
472
477
|
'LENGTH',
|
|
473
478
|
'LENGTHB',
|
|
474
479
|
'LEVELS',
|
|
480
|
+
'LIMIT',
|
|
481
|
+
'LN',
|
|
475
482
|
'LOCATE',
|
|
476
483
|
'LOCATE_REGEXPR',
|
|
484
|
+
'LOG',
|
|
477
485
|
'LONGDATE',
|
|
486
|
+
'LOOP',
|
|
487
|
+
'LOWER',
|
|
478
488
|
'LPAD',
|
|
479
489
|
'LTRIM',
|
|
480
490
|
'MAP',
|
|
@@ -482,11 +492,17 @@ module.exports = {
|
|
|
482
492
|
'MAP_REDUCE',
|
|
483
493
|
'MAX',
|
|
484
494
|
'MEASURES',
|
|
495
|
+
'MIMETYPE',
|
|
485
496
|
'MIN',
|
|
497
|
+
'MINUS',
|
|
486
498
|
'MINUTE',
|
|
499
|
+
'MOD',
|
|
487
500
|
'MONTH',
|
|
488
501
|
'MULTIPARENT',
|
|
502
|
+
'NATURAL',
|
|
503
|
+
'NCHAR',
|
|
489
504
|
'NCLOB',
|
|
505
|
+
'NEXTVAL',
|
|
490
506
|
'NEXT_DAY',
|
|
491
507
|
'NO',
|
|
492
508
|
'NOT',
|
|
@@ -494,6 +510,7 @@ module.exports = {
|
|
|
494
510
|
'NTEXT',
|
|
495
511
|
'NTH_VALUE',
|
|
496
512
|
'NTILE',
|
|
513
|
+
'NULL',
|
|
497
514
|
'NULLIF',
|
|
498
515
|
'NUMBER',
|
|
499
516
|
'NUMERIC',
|
|
@@ -502,16 +519,22 @@ module.exports = {
|
|
|
502
519
|
'OCCURRENCES_REGEXPR',
|
|
503
520
|
'OF',
|
|
504
521
|
'OLYMP',
|
|
522
|
+
'ON',
|
|
505
523
|
'OPENCYPHER_TABLE',
|
|
524
|
+
'ORDER',
|
|
506
525
|
'ORDINALITY',
|
|
507
526
|
'ORPHAN',
|
|
527
|
+
'OUT',
|
|
508
528
|
'OVER',
|
|
509
|
-
'PERCENT_RANK',
|
|
510
529
|
'PERCENTILE_CONT',
|
|
511
530
|
'PERCENTILE_DISC',
|
|
531
|
+
'PERCENT_RANK',
|
|
512
532
|
'PLAIN',
|
|
533
|
+
'POWER',
|
|
534
|
+
'PRIOR',
|
|
513
535
|
'PRODUCT',
|
|
514
536
|
'RANGE',
|
|
537
|
+
'RANGE_RESTRICTION',
|
|
515
538
|
'RANK',
|
|
516
539
|
'RAW',
|
|
517
540
|
'RDICT',
|
|
@@ -523,9 +546,15 @@ module.exports = {
|
|
|
523
546
|
'REMOTE_EXECUTE_QUERY',
|
|
524
547
|
'REPLACE',
|
|
525
548
|
'REPLACE_REGEXPR',
|
|
549
|
+
'RETURN',
|
|
550
|
+
'RETURNS',
|
|
551
|
+
'REVERSE',
|
|
552
|
+
'RIGHT',
|
|
553
|
+
'ROLLUP',
|
|
526
554
|
'ROUND',
|
|
527
555
|
'ROUNDROBIN',
|
|
528
556
|
'ROW',
|
|
557
|
+
'ROWID',
|
|
529
558
|
'ROW_NUMBER',
|
|
530
559
|
'RPAD',
|
|
531
560
|
'RTREE',
|
|
@@ -535,17 +564,32 @@ module.exports = {
|
|
|
535
564
|
'SECONDDATE',
|
|
536
565
|
'SECONDS_BETWEEN',
|
|
537
566
|
'SECONDTIME',
|
|
567
|
+
'SELECT',
|
|
538
568
|
'SERIES_ELEMENT_TO_PERIOD',
|
|
539
569
|
'SERIES_PERIOD_TO_ELEMENT',
|
|
540
570
|
'SERIES_ROUND',
|
|
541
571
|
'SESSION_CONTEXT',
|
|
572
|
+
'SESSION_USER',
|
|
573
|
+
'SET',
|
|
574
|
+
'SHORTTEXT',
|
|
542
575
|
'SIBLING',
|
|
576
|
+
'SIGN',
|
|
577
|
+
'SIN',
|
|
578
|
+
'SINH',
|
|
543
579
|
'SMALLDECIMAL',
|
|
544
580
|
'SMALLINT',
|
|
581
|
+
'SNIPPETS',
|
|
545
582
|
'SOME',
|
|
583
|
+
'SQL',
|
|
584
|
+
'SQRT',
|
|
585
|
+
'START',
|
|
586
|
+
'STDDEV',
|
|
587
|
+
'STRING',
|
|
588
|
+
'STRING_AGG',
|
|
546
589
|
'ST_ALPHASHAPEAGGR',
|
|
547
590
|
'ST_ALPHASHAPEAREAAGGR',
|
|
548
591
|
'ST_ALPHASHAPEEDGEAGGR',
|
|
592
|
+
'ST_ASMVT',
|
|
549
593
|
'ST_ASSVGAGGR',
|
|
550
594
|
'ST_CIRCULARSTRING',
|
|
551
595
|
'ST_CLUSTERCELL',
|
|
@@ -561,6 +605,7 @@ module.exports = {
|
|
|
561
605
|
'ST_FROMTEXT',
|
|
562
606
|
'ST_GEOMETRY',
|
|
563
607
|
'ST_GEOMETRYCOLLECTION',
|
|
608
|
+
'ST_GEOMFROMESRIJSON',
|
|
564
609
|
'ST_GEOMFROMEWKB',
|
|
565
610
|
'ST_GEOMFROMEWKT',
|
|
566
611
|
'ST_GEOMFROMGEOHASH',
|
|
@@ -571,6 +616,8 @@ module.exports = {
|
|
|
571
616
|
'ST_INTERSECTIONAGGR',
|
|
572
617
|
'ST_LINESTRING',
|
|
573
618
|
'ST_MAKELINE',
|
|
619
|
+
'ST_MAKEPOLYGON',
|
|
620
|
+
'ST_MEMORY_LOB',
|
|
574
621
|
'ST_MULTILINESTRING',
|
|
575
622
|
'ST_MULTIPOINT',
|
|
576
623
|
'ST_MULTIPOLYGON',
|
|
@@ -583,22 +630,24 @@ module.exports = {
|
|
|
583
630
|
'ST_POLYGON',
|
|
584
631
|
'ST_RECTANGLE',
|
|
585
632
|
'ST_UNIONAGGR',
|
|
586
|
-
'STDDEV',
|
|
587
|
-
'STRING',
|
|
588
|
-
'STRING_AGG',
|
|
589
633
|
'SUBSTR',
|
|
634
|
+
'SUBSTRING',
|
|
635
|
+
'SUBSTRING_REGEXPR',
|
|
590
636
|
'SUBSTR_AFTER',
|
|
591
637
|
'SUBSTR_BEFORE',
|
|
592
638
|
'SUBSTR_REGEXPR',
|
|
593
|
-
'SUBSTRING',
|
|
594
|
-
'SUBSTRING_REGEXPR',
|
|
595
639
|
'SUM',
|
|
596
640
|
'SYSTEM_TIME',
|
|
641
|
+
'SYSUUID',
|
|
597
642
|
'TABLE',
|
|
598
643
|
'TABLES',
|
|
644
|
+
'TABLESAMPLE',
|
|
645
|
+
'TAN',
|
|
646
|
+
'TANH',
|
|
599
647
|
'TARGET',
|
|
600
648
|
'TEMPORARY',
|
|
601
649
|
'TEXT',
|
|
650
|
+
'TEXT_FILTER',
|
|
602
651
|
'THEN',
|
|
603
652
|
'THREAD',
|
|
604
653
|
'TIME',
|
|
@@ -613,12 +662,18 @@ module.exports = {
|
|
|
613
662
|
'TM_GET_RELEVANT_DOCUMENTS',
|
|
614
663
|
'TM_GET_RELEVANT_TERMS',
|
|
615
664
|
'TM_GET_SUGGESTED_TERMS',
|
|
665
|
+
'TOKEN',
|
|
666
|
+
'TOOLOPTION',
|
|
667
|
+
'TOP',
|
|
668
|
+
'TOPK',
|
|
669
|
+
'TOTAL',
|
|
616
670
|
'TO_BIGINT',
|
|
617
671
|
'TO_BINARY',
|
|
618
672
|
'TO_BLOB',
|
|
619
673
|
'TO_CHAR',
|
|
620
674
|
'TO_CLOB',
|
|
621
675
|
'TO_DATE',
|
|
676
|
+
'TO_DATS',
|
|
622
677
|
'TO_DECIMAL',
|
|
623
678
|
'TO_DOUBLE',
|
|
624
679
|
'TO_INT',
|
|
@@ -638,19 +693,25 @@ module.exports = {
|
|
|
638
693
|
'TO_TINYINT',
|
|
639
694
|
'TO_VARBINARY',
|
|
640
695
|
'TO_VARCHAR',
|
|
641
|
-
'TOKEN',
|
|
642
|
-
'TOOLOPTION',
|
|
643
|
-
'TOPK',
|
|
644
|
-
'TOTAL',
|
|
645
696
|
'TRACE',
|
|
646
697
|
'TRACEPROFILE',
|
|
647
698
|
'TRACES',
|
|
699
|
+
'TRAILING',
|
|
648
700
|
'TRANSACTION',
|
|
649
701
|
'TREE',
|
|
650
702
|
'TRIGGER_UPDATE_COLUMN',
|
|
651
703
|
'TRIM',
|
|
704
|
+
'TRUE',
|
|
705
|
+
'UCASE',
|
|
706
|
+
'UNICODE',
|
|
707
|
+
'UNION',
|
|
708
|
+
'UNKNOWN',
|
|
652
709
|
'UNNEST',
|
|
710
|
+
'UPPER',
|
|
653
711
|
'USER',
|
|
712
|
+
'USING',
|
|
713
|
+
'UTCTIMESTAMP',
|
|
714
|
+
'VALUES',
|
|
654
715
|
'VAR',
|
|
655
716
|
'VARBINARY',
|
|
656
717
|
'VARCHAR',
|
|
@@ -659,8 +720,12 @@ module.exports = {
|
|
|
659
720
|
'VARCHAR3',
|
|
660
721
|
'VERSIONING',
|
|
661
722
|
'WEEKDAY',
|
|
723
|
+
'WHEN',
|
|
724
|
+
'WHERE',
|
|
725
|
+
'WHILE',
|
|
662
726
|
'WHY_FOUND',
|
|
663
727
|
'WINDOW',
|
|
728
|
+
'WITH',
|
|
664
729
|
'WITHIN',
|
|
665
730
|
'XMLTABLE',
|
|
666
731
|
'YEAR'
|
|
@@ -694,5 +759,110 @@ module.exports = {
|
|
|
694
759
|
'TOP', 'TRAILING', 'UNION',
|
|
695
760
|
'USING', 'VALUES', 'WHEN',
|
|
696
761
|
'WHERE', 'WHILE', 'WITH'
|
|
762
|
+
],
|
|
763
|
+
// Postgres keywords, used for smart quoting in to-sql.plain.postgres
|
|
764
|
+
// Taken from https://www.postgresql.org/docs/current/sql-keywords-appendix.html
|
|
765
|
+
// Generated via scripts/keywords/postgres/generateKeywords.js
|
|
766
|
+
postgres: [
|
|
767
|
+
'ALL',
|
|
768
|
+
'ANALYSE',
|
|
769
|
+
'ANALYZE',
|
|
770
|
+
'AND',
|
|
771
|
+
'ANY',
|
|
772
|
+
'ARRAY',
|
|
773
|
+
'AS',
|
|
774
|
+
'ASC',
|
|
775
|
+
'ASYMMETRIC',
|
|
776
|
+
'AUTHORIZATION',
|
|
777
|
+
'BINARY',
|
|
778
|
+
'BOTH',
|
|
779
|
+
'CASE',
|
|
780
|
+
'CAST',
|
|
781
|
+
'CHECK',
|
|
782
|
+
'COLLATE',
|
|
783
|
+
'COLLATION',
|
|
784
|
+
'COLUMN',
|
|
785
|
+
'CONCURRENTLY',
|
|
786
|
+
'CONSTRAINT',
|
|
787
|
+
'CREATE',
|
|
788
|
+
'CROSS',
|
|
789
|
+
'CURRENT_CATALOG',
|
|
790
|
+
'CURRENT_DATE',
|
|
791
|
+
'CURRENT_ROLE',
|
|
792
|
+
'CURRENT_SCHEMA',
|
|
793
|
+
'CURRENT_TIME',
|
|
794
|
+
'CURRENT_TIMESTAMP',
|
|
795
|
+
'CURRENT_USER',
|
|
796
|
+
'DEFAULT',
|
|
797
|
+
'DEFERRABLE',
|
|
798
|
+
'DESC',
|
|
799
|
+
'DISTINCT',
|
|
800
|
+
'DO',
|
|
801
|
+
'ELSE',
|
|
802
|
+
'END',
|
|
803
|
+
'EXCEPT',
|
|
804
|
+
'FALSE',
|
|
805
|
+
'FETCH',
|
|
806
|
+
'FOR',
|
|
807
|
+
'FOREIGN',
|
|
808
|
+
'FREEZE',
|
|
809
|
+
'FROM',
|
|
810
|
+
'FULL',
|
|
811
|
+
'GRANT',
|
|
812
|
+
'GROUP',
|
|
813
|
+
'HAVING',
|
|
814
|
+
'ILIKE',
|
|
815
|
+
'IN',
|
|
816
|
+
'INITIALLY',
|
|
817
|
+
'INNER',
|
|
818
|
+
'INTERSECT',
|
|
819
|
+
'INTO',
|
|
820
|
+
'IS',
|
|
821
|
+
'ISNULL',
|
|
822
|
+
'JOIN',
|
|
823
|
+
'LATERAL',
|
|
824
|
+
'LEADING',
|
|
825
|
+
'LEFT',
|
|
826
|
+
'LIKE',
|
|
827
|
+
'LIMIT',
|
|
828
|
+
'LOCALTIME',
|
|
829
|
+
'LOCALTIMESTAMP',
|
|
830
|
+
'NATURAL',
|
|
831
|
+
'NOT',
|
|
832
|
+
'NOTNULL',
|
|
833
|
+
'NULL',
|
|
834
|
+
'OFFSET',
|
|
835
|
+
'ON',
|
|
836
|
+
'ONLY',
|
|
837
|
+
'OR',
|
|
838
|
+
'ORDER',
|
|
839
|
+
'OUTER',
|
|
840
|
+
'OVERLAPS',
|
|
841
|
+
'PLACING',
|
|
842
|
+
'PRIMARY',
|
|
843
|
+
'REFERENCES',
|
|
844
|
+
'RETURNING',
|
|
845
|
+
'RIGHT',
|
|
846
|
+
'SELECT',
|
|
847
|
+
'SESSION_USER',
|
|
848
|
+
'SIMILAR',
|
|
849
|
+
'SOME',
|
|
850
|
+
'SYMMETRIC',
|
|
851
|
+
'TABLE',
|
|
852
|
+
'TABLESAMPLE',
|
|
853
|
+
'THEN',
|
|
854
|
+
'TO',
|
|
855
|
+
'TRAILING',
|
|
856
|
+
'TRUE',
|
|
857
|
+
'UNION',
|
|
858
|
+
'UNIQUE',
|
|
859
|
+
'USER',
|
|
860
|
+
'USING',
|
|
861
|
+
'VARIADIC',
|
|
862
|
+
'VERBOSE',
|
|
863
|
+
'WHEN',
|
|
864
|
+
'WHERE',
|
|
865
|
+
'WINDOW',
|
|
866
|
+
'WITH'
|
|
697
867
|
]
|
|
698
868
|
}
|