@sap/cds-compiler 2.5.2 → 2.11.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 +235 -9
- package/bin/cdsc.js +44 -27
- package/bin/cdsse.js +1 -0
- package/doc/CHANGELOG_BETA.md +37 -3
- package/lib/api/.eslintrc.json +2 -0
- package/lib/api/main.js +37 -123
- package/lib/api/options.js +27 -15
- package/lib/api/validate.js +34 -9
- package/lib/backends.js +9 -89
- package/lib/base/dictionaries.js +2 -1
- package/lib/base/keywords.js +32 -2
- package/lib/base/message-registry.js +73 -11
- package/lib/base/messages.js +86 -30
- package/lib/base/model.js +6 -6
- package/lib/base/optionProcessorHelper.js +56 -22
- package/lib/checks/defaultValues.js +27 -2
- package/lib/checks/elements.js +1 -6
- package/lib/checks/foreignKeys.js +0 -6
- package/lib/checks/managedWithoutKeys.js +17 -0
- package/lib/checks/nonexpandableStructured.js +38 -0
- package/lib/checks/onConditions.js +9 -45
- package/lib/checks/queryNoDbArtifacts.js +25 -7
- package/lib/checks/selectItems.js +29 -2
- package/lib/checks/types.js +26 -2
- package/lib/checks/unknownMagic.js +41 -0
- package/lib/checks/utils.js +61 -0
- package/lib/checks/validator.js +60 -7
- package/lib/compiler/assert-consistency.js +23 -7
- package/lib/compiler/base.js +65 -0
- package/lib/compiler/builtins.js +30 -1
- package/lib/compiler/checks.js +8 -5
- package/lib/compiler/definer.js +157 -133
- package/lib/compiler/index.js +89 -31
- package/lib/compiler/propagator.js +5 -2
- package/lib/compiler/resolver.js +375 -185
- package/lib/compiler/shared.js +49 -202
- package/lib/compiler/utils.js +173 -0
- package/lib/edm/annotations/genericTranslation.js +183 -187
- package/lib/edm/csn2edm.js +104 -108
- package/lib/edm/edm.js +18 -21
- package/lib/edm/edmPreprocessor.js +388 -146
- package/lib/edm/edmUtils.js +104 -34
- package/lib/gen/Dictionary.json +22 -0
- package/lib/gen/language.checksum +1 -1
- package/lib/gen/language.interp +28 -1
- package/lib/gen/language.tokens +79 -69
- package/lib/gen/languageLexer.interp +28 -1
- package/lib/gen/languageLexer.js +879 -805
- package/lib/gen/languageLexer.tokens +71 -62
- package/lib/gen/languageParser.js +5330 -4300
- package/lib/json/from-csn.js +110 -52
- package/lib/json/to-csn.js +434 -120
- package/lib/language/antlrParser.js +15 -3
- package/lib/language/errorStrategy.js +1 -0
- package/lib/language/genericAntlrParser.js +93 -26
- package/lib/language/language.g4 +172 -31
- package/lib/main.d.ts +216 -19
- package/lib/main.js +32 -7
- package/lib/model/api.js +78 -0
- package/lib/model/csnRefs.js +413 -149
- package/lib/model/csnUtils.js +286 -75
- package/lib/model/enrichCsn.js +50 -6
- package/lib/model/revealInternalProperties.js +22 -5
- package/lib/modelCompare/compare.js +39 -21
- package/lib/optionProcessor.js +35 -18
- package/lib/render/.eslintrc.json +4 -1
- package/lib/render/DuplicateChecker.js +9 -6
- package/lib/render/toCdl.js +121 -36
- package/lib/render/toHdbcds.js +148 -98
- package/lib/render/toSql.js +114 -43
- package/lib/render/utils/common.js +8 -13
- package/lib/render/utils/sql.js +3 -3
- package/lib/sql-identifier.js +6 -1
- package/lib/transform/db/assertUnique.js +5 -6
- package/lib/transform/db/constraints.js +281 -106
- package/lib/transform/db/draft.js +11 -8
- package/lib/transform/db/expansion.js +584 -0
- package/lib/transform/db/flattening.js +341 -0
- package/lib/transform/db/groupByOrderBy.js +2 -2
- package/lib/transform/db/transformExists.js +345 -65
- package/lib/transform/db/views.js +438 -0
- package/lib/transform/forHanaNew.js +131 -793
- package/lib/transform/forOdataNew.js +30 -24
- package/lib/transform/localized.js +39 -10
- package/lib/transform/odata/attachPath.js +19 -4
- package/lib/transform/odata/generateForeignKeyElements.js +11 -10
- package/lib/transform/odata/referenceFlattener.js +60 -39
- package/lib/transform/odata/sortByAssociationDependency.js +2 -2
- package/lib/transform/odata/structuralPath.js +72 -0
- package/lib/transform/odata/structureFlattener.js +19 -18
- package/lib/transform/odata/typesExposure.js +22 -12
- package/lib/transform/transformUtilsNew.js +144 -78
- package/lib/transform/translateAssocsToJoins.js +22 -27
- package/lib/transform/universalCsnEnricher.js +67 -0
- package/lib/utils/file.js +5 -14
- package/lib/utils/moduleResolve.js +6 -8
- package/lib/utils/term.js +65 -42
- package/lib/utils/timetrace.js +48 -26
- package/package.json +1 -1
- package/lib/json/walker.js +0 -26
- package/lib/transform/sqlite +0 -0
- package/lib/utils/string.js +0 -17
|
@@ -74,68 +74,77 @@ BOTH=73
|
|
|
74
74
|
COMPOSITION=74
|
|
75
75
|
CONTEXT=75
|
|
76
76
|
CROSS=76
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
77
|
+
CURRENT=77
|
|
78
|
+
DAY=78
|
|
79
|
+
DEFAULT=79
|
|
80
|
+
DEFINE=80
|
|
81
|
+
DESC=81
|
|
82
|
+
ELEMENT=82
|
|
83
|
+
ELSE=83
|
|
84
|
+
END=84
|
|
85
|
+
ENTITY=85
|
|
86
|
+
ENUM=86
|
|
87
|
+
EVENT=87
|
|
88
|
+
ESCAPE=88
|
|
89
|
+
EXACT=89
|
|
90
|
+
EXCEPT=90
|
|
91
|
+
EXCLUDING=91
|
|
92
|
+
EXTEND=92
|
|
93
|
+
FIRST=93
|
|
94
|
+
FLOATING=94
|
|
95
|
+
FOLLOWING=95
|
|
96
|
+
FULL=96
|
|
97
|
+
FUNCTION=97
|
|
98
|
+
GROUP=98
|
|
99
|
+
HAVING=99
|
|
100
|
+
HOUR=100
|
|
101
|
+
INNER=101
|
|
102
|
+
INTERSECT=102
|
|
103
|
+
INTO=103
|
|
104
|
+
IS=104
|
|
105
|
+
JOIN=105
|
|
106
|
+
LAST=106
|
|
107
|
+
LEADING=107
|
|
108
|
+
LEFT=108
|
|
109
|
+
LIKE=109
|
|
110
|
+
LIMIT=110
|
|
111
|
+
LOCALIZED=111
|
|
112
|
+
MANY=112
|
|
113
|
+
MASKED=113
|
|
114
|
+
MINUS=114
|
|
115
|
+
MINUTE=115
|
|
116
|
+
MIXIN=116
|
|
117
|
+
MONTH=117
|
|
118
|
+
NAMESPACE=118
|
|
119
|
+
NULLS=119
|
|
120
|
+
OFFSET=120
|
|
121
|
+
ONE=121
|
|
122
|
+
OR=122
|
|
123
|
+
ORDER=123
|
|
124
|
+
OUTER=124
|
|
125
|
+
PARAMETERS=125
|
|
126
|
+
PARTITION=126
|
|
127
|
+
PRECEDING=127
|
|
128
|
+
PROJECTION=128
|
|
129
|
+
REDIRECTED=129
|
|
130
|
+
RETURNS=130
|
|
131
|
+
RIGHT=131
|
|
132
|
+
ROW=132
|
|
133
|
+
ROWS=133
|
|
134
|
+
SECOND=134
|
|
135
|
+
SERVICE=135
|
|
136
|
+
THEN=136
|
|
137
|
+
TRAILING=137
|
|
138
|
+
TO=138
|
|
139
|
+
TYPE=139
|
|
140
|
+
UNION=140
|
|
141
|
+
UNBOUNDED=141
|
|
142
|
+
USING=142
|
|
143
|
+
VARIABLE=143
|
|
144
|
+
VIEW=144
|
|
145
|
+
YEAR=145
|
|
146
|
+
Identifier=146
|
|
147
|
+
IllegalToken=147
|
|
139
148
|
';'=1
|
|
140
149
|
'{'=2
|
|
141
150
|
','=3
|