@sap/cds-compiler 5.9.4 → 6.0.10

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.
Files changed (111) hide show
  1. package/CHANGELOG.md +104 -319
  2. package/README.md +1 -1
  3. package/bin/cds_update_identifiers.js +3 -5
  4. package/bin/cdsc.js +22 -8
  5. package/bin/cdshi.js +1 -1
  6. package/bin/cdsse.js +4 -4
  7. package/doc/CHANGELOG_BETA.md +11 -0
  8. package/doc/CHANGELOG_DEPRECATED.md +29 -0
  9. package/lib/api/main.js +8 -5
  10. package/lib/api/options.js +12 -10
  11. package/lib/base/builtins.js +1 -0
  12. package/lib/base/message-registry.js +190 -96
  13. package/lib/base/messages.js +29 -20
  14. package/lib/base/model.js +14 -24
  15. package/lib/checks/actionsFunctions.js +10 -20
  16. package/lib/checks/annotationsOData.js +1 -1
  17. package/lib/checks/elements.js +30 -10
  18. package/lib/checks/enums.js +31 -0
  19. package/lib/checks/foreignKeys.js +2 -2
  20. package/lib/checks/hasPersistedElements.js +5 -0
  21. package/lib/checks/invalidTarget.js +1 -1
  22. package/lib/checks/managedWithoutKeys.js +5 -4
  23. package/lib/checks/queryNoDbArtifacts.js +10 -8
  24. package/lib/checks/types.js +5 -5
  25. package/lib/checks/validator.js +6 -4
  26. package/lib/compiler/assert-consistency.js +12 -9
  27. package/lib/compiler/checks.js +18 -50
  28. package/lib/compiler/define.js +6 -6
  29. package/lib/compiler/extend.js +2 -1
  30. package/lib/compiler/generate.js +14 -17
  31. package/lib/compiler/populate.js +8 -31
  32. package/lib/compiler/propagator.js +21 -35
  33. package/lib/compiler/resolve.js +35 -22
  34. package/lib/compiler/shared.js +7 -1
  35. package/lib/compiler/tweak-assocs.js +1 -1
  36. package/lib/compiler/utils.js +1 -1
  37. package/lib/edm/annotations/edmJson.js +20 -15
  38. package/lib/edm/annotations/genericTranslation.js +7 -8
  39. package/lib/edm/csn2edm.js +46 -50
  40. package/lib/edm/edm.js +8 -7
  41. package/lib/edm/edmPreprocessor.js +33 -83
  42. package/lib/edm/edmUtils.js +2 -2
  43. package/lib/gen/BaseParser.js +55 -44
  44. package/lib/gen/CdlGrammar.checksum +1 -1
  45. package/lib/gen/CdlParser.js +1133 -1150
  46. package/lib/json/from-csn.js +70 -43
  47. package/lib/json/to-csn.js +6 -8
  48. package/lib/language/multiLineStringParser.js +3 -2
  49. package/lib/main.d.ts +58 -24
  50. package/lib/model/csnUtils.js +28 -39
  51. package/lib/model/xprAsTree.js +23 -9
  52. package/lib/modelCompare/compare.js +5 -4
  53. package/lib/optionProcessor.js +21 -17
  54. package/lib/parsers/AstBuildingParser.js +63 -11
  55. package/lib/parsers/XprTree.js +57 -3
  56. package/lib/parsers/identifiers.js +1 -1
  57. package/lib/parsers/index.js +0 -3
  58. package/lib/render/manageConstraints.js +25 -25
  59. package/lib/render/toCdl.js +173 -170
  60. package/lib/render/toHdbcds.js +126 -128
  61. package/lib/render/toRename.js +7 -7
  62. package/lib/render/toSql.js +128 -125
  63. package/lib/render/utils/common.js +47 -22
  64. package/lib/render/utils/delta.js +25 -25
  65. package/lib/render/utils/operators.js +2 -2
  66. package/lib/render/utils/pretty.js +5 -5
  67. package/lib/render/utils/sql.js +13 -13
  68. package/lib/render/utils/standardDatabaseFunctions.js +115 -103
  69. package/lib/render/utils/unique.js +4 -4
  70. package/lib/transform/db/applyTransformations.js +1 -1
  71. package/lib/transform/db/assertUnique.js +2 -2
  72. package/lib/transform/db/associations.js +6 -7
  73. package/lib/transform/db/assocsToQueries/utils.js +4 -5
  74. package/lib/transform/db/backlinks.js +12 -9
  75. package/lib/transform/db/cdsPersistence.js +8 -7
  76. package/lib/transform/db/constraints.js +13 -10
  77. package/lib/transform/db/expansion.js +7 -3
  78. package/lib/transform/db/flattening.js +4 -14
  79. package/lib/transform/db/processSqlServices.js +2 -1
  80. package/lib/transform/db/temporal.js +5 -7
  81. package/lib/transform/db/views.js +2 -4
  82. package/lib/transform/draft/db.js +8 -8
  83. package/lib/transform/draft/odata.js +10 -7
  84. package/lib/transform/forOdata.js +10 -5
  85. package/lib/transform/forRelationalDB.js +5 -75
  86. package/lib/transform/localized.js +1 -1
  87. package/lib/transform/odata/createForeignKeys.js +11 -10
  88. package/lib/transform/odata/flattening.js +8 -4
  89. package/lib/transform/odata/foreignKeyRefsInXprAnnos.js +96 -0
  90. package/lib/transform/odata/typesExposure.js +3 -3
  91. package/lib/transform/transformUtils.js +4 -8
  92. package/lib/transform/translateAssocsToJoins.js +14 -7
  93. package/lib/transform/universalCsn/universalCsnEnricher.js +10 -4
  94. package/lib/utils/objectUtils.js +0 -17
  95. package/package.json +10 -13
  96. package/share/messages/def-upcoming-virtual-change.md +1 -1
  97. package/LICENSE +0 -37
  98. package/bin/cds_remove_invalid_whitespace.js +0 -138
  99. package/doc/CHANGELOG_ARCHIVE.md +0 -3604
  100. package/lib/gen/genericAntlrParser.js +0 -3
  101. package/lib/gen/language.checksum +0 -1
  102. package/lib/gen/language.interp +0 -456
  103. package/lib/gen/language.tokens +0 -180
  104. package/lib/gen/languageLexer.interp +0 -439
  105. package/lib/gen/languageLexer.js +0 -1483
  106. package/lib/gen/languageLexer.tokens +0 -167
  107. package/lib/gen/languageParser.js +0 -24941
  108. package/lib/language/antlrParser.js +0 -205
  109. package/lib/language/errorStrategy.js +0 -646
  110. package/lib/language/genericAntlrParser.js +0 -1572
  111. package/lib/parsers/CdlGrammar.g4 +0 -2070
@@ -1,167 +0,0 @@
1
- T__0=1
2
- T__1=2
3
- T__2=3
4
- T__3=4
5
- T__4=5
6
- T__5=6
7
- T__6=7
8
- T__7=8
9
- T__8=9
10
- T__9=10
11
- T__10=11
12
- T__11=12
13
- T__12=13
14
- T__13=14
15
- T__14=15
16
- T__15=16
17
- T__16=17
18
- T__17=18
19
- T__18=19
20
- T__19=20
21
- T__20=21
22
- T__21=22
23
- T__22=23
24
- T__23=24
25
- T__24=25
26
- T__25=26
27
- T__26=27
28
- T__27=28
29
- WhiteSpace=29
30
- DocComment=30
31
- Comment=31
32
- LineComment=32
33
- String=33
34
- QuotedLiteral=34
35
- UnterminatedLiteral=35
36
- UnterminatedDelimitedIdentifier=36
37
- Boolean=37
38
- ALL=38
39
- ANY=39
40
- AS=40
41
- BY=41
42
- CASE=42
43
- CAST=43
44
- DISTINCT=44
45
- EXISTS=45
46
- FROM=46
47
- IN=47
48
- KEY=48
49
- NEW=49
50
- NOT=50
51
- NULL=51
52
- OF=52
53
- ON=53
54
- SELECT=54
55
- SOME=55
56
- WHEN=56
57
- WHERE=57
58
- WITH=58
59
- Number=59
60
- ABSTRACT=60
61
- ACTION=61
62
- ACTIONS=62
63
- AND=63
64
- ANNOTATE=64
65
- ANNOTATION=65
66
- ARRAY=66
67
- ASC=67
68
- ASPECT=68
69
- ASSOCIATION=69
70
- BETWEEN=70
71
- COLUMNS=71
72
- COMPOSITION=72
73
- CONTEXT=73
74
- CROSS=74
75
- CURRENT=75
76
- DEFAULT=76
77
- DEFINE=77
78
- DEFINITIONS=78
79
- DESC=79
80
- ELEMENTS=80
81
- ELSE=81
82
- END=82
83
- ENTITY=83
84
- ENUM=84
85
- EVENT=85
86
- ESCAPE=86
87
- EXACT=87
88
- EXCEPT=88
89
- EXCLUDING=89
90
- EXTEND=90
91
- FIRST=91
92
- FLOATING=92
93
- FOLLOWING=93
94
- FULL=94
95
- FUNCTION=95
96
- GROUP=96
97
- HAVING=97
98
- INNER=98
99
- INTERSECT=99
100
- INTO=100
101
- IS=101
102
- JOIN=102
103
- LAST=103
104
- LEFT=104
105
- LIKE=105
106
- LIMIT=106
107
- LOCALIZED=107
108
- MANY=108
109
- MINUS=109
110
- MIXIN=110
111
- NAMESPACE=111
112
- NULLS=112
113
- OFFSET=113
114
- ONE=114
115
- OR=115
116
- ORDER=116
117
- OUTER=117
118
- PARAMETERS=118
119
- PARTITION=119
120
- PRECEDING=120
121
- PROJECTION=121
122
- REDIRECTED=122
123
- RETURNS=123
124
- RIGHT=124
125
- ROW=125
126
- ROWS=126
127
- SERVICE=127
128
- STORED=128
129
- THEN=129
130
- TO=130
131
- TYPE=131
132
- UNION=132
133
- UNBOUNDED=133
134
- UP=134
135
- USING=135
136
- VARIABLE=136
137
- VIEW=137
138
- Identifier=138
139
- IllegalToken=139
140
- ';'=1
141
- '{'=2
142
- ','=3
143
- '}'=4
144
- ':'=5
145
- '('=6
146
- ')'=7
147
- '='=8
148
- '+'=9
149
- '-'=10
150
- '['=11
151
- '*'=12
152
- '..'=13
153
- ']'=14
154
- '.'=15
155
- '?'=16
156
- '<>'=17
157
- '>'=18
158
- '>='=19
159
- '<'=20
160
- '<='=21
161
- '!='=22
162
- '||'=23
163
- '/'=24
164
- '=>'=25
165
- '@'=26
166
- '#'=27
167
- '...'=28