@cubejs-backend/schema-compiler 1.2.14 → 1.2.15

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.
@@ -24,19 +24,31 @@ exports.CONTEXT_SYMBOLS = {
24
24
  };
25
25
  exports.CURRENT_CUBE_CONSTANTS = ['CUBE', 'TABLE'];
26
26
  class CubeSymbols {
27
- constructor(evaluateViews) {
27
+ symbols;
28
+ builtCubes;
29
+ cubeDefinitions;
30
+ funcArgumentsValues;
31
+ cubeList;
32
+ evaluateViews;
33
+ resolveSymbolsCallContext;
34
+ constructor(evaluateViews = false) {
28
35
  this.symbols = {};
29
36
  this.builtCubes = {};
30
37
  this.cubeDefinitions = {};
31
38
  this.funcArgumentsValues = {};
32
39
  this.cubeList = [];
33
- this.evaluateViews = evaluateViews || false;
40
+ this.evaluateViews = evaluateViews;
34
41
  }
35
42
  compile(cubes, errorReporter) {
36
- this.cubeDefinitions = ramda_1.default.pipe(ramda_1.default.map(c => [c.name, c]), ramda_1.default.fromPairs)(cubes);
43
+ // @ts-ignore
44
+ this.cubeDefinitions = ramda_1.default.pipe(
45
+ // @ts-ignore
46
+ ramda_1.default.map((c) => [c.name, c]), ramda_1.default.fromPairs
47
+ // @ts-ignore
48
+ )(cubes);
37
49
  this.cubeList = cubes.map(c => (c.name ? this.getCubeDefinition(c.name) : this.createCube(c)));
38
50
  // TODO support actual dependency sorting to allow using views inside views
39
- const sortedByDependency = ramda_1.default.pipe(ramda_1.default.sortBy(c => !!c.isView))(cubes);
51
+ const sortedByDependency = ramda_1.default.pipe(ramda_1.default.sortBy((c) => !!c.isView))(cubes);
40
52
  for (const cube of sortedByDependency) {
41
53
  const splitViews = {};
42
54
  this.symbols[cube.name] = this.transform(cube.name, errorReporter.inContext(`${cube.name} cube`), splitViews);
@@ -118,8 +130,14 @@ class CubeSymbols {
118
130
  }
119
131
  transform(cubeName, errorReporter, splitViews) {
120
132
  const cube = this.getCubeDefinition(cubeName);
121
- const duplicateNames = ramda_1.default.compose(ramda_1.default.map(nameToDefinitions => nameToDefinitions[0]), ramda_1.default.toPairs, ramda_1.default.filter(definitionsByName => definitionsByName.length > 1), ramda_1.default.groupBy(nameToDefinition => nameToDefinition[0]), ramda_1.default.unnest, ramda_1.default.map(ramda_1.default.toPairs), ramda_1.default.filter(v => !!v))([cube.measures, cube.dimensions, cube.segments, cube.preAggregations, cube.hierarchies]);
133
+ const duplicateNames = ramda_1.default.compose(ramda_1.default.map((nameToDefinitions) => nameToDefinitions[0]), ramda_1.default.toPairs, ramda_1.default.filter((definitionsByName) => definitionsByName.length > 1), ramda_1.default.groupBy((nameToDefinition) => nameToDefinition[0]), ramda_1.default.unnest, ramda_1.default.map(ramda_1.default.toPairs),
134
+ // @ts-ignore
135
+ ramda_1.default.filter((v) => !!v)
136
+ // @ts-ignore
137
+ )([cube.measures, cube.dimensions, cube.segments, cube.preAggregations, cube.hierarchies]);
138
+ // @ts-ignore
122
139
  if (duplicateNames.length > 0) {
140
+ // @ts-ignore
123
141
  errorReporter.error(`${duplicateNames.join(', ')} defined more than once`);
124
142
  }
125
143
  (0, utils_1.camelizeCube)(cube);
@@ -137,9 +155,6 @@ class CubeSymbols {
137
155
  }
138
156
  return Object.assign({ cubeName: () => cube.name, cubeObj: () => cube }, cube.measures || {}, cube.dimensions || {}, cube.segments || {}, cube.preAggregations || {});
139
157
  }
140
- /**
141
- * @private
142
- */
143
158
  camelCaseTypes(obj) {
144
159
  if (!obj) {
145
160
  return;
@@ -186,9 +201,6 @@ class CubeSymbols {
186
201
  }
187
202
  }
188
203
  }
189
- /**
190
- * @protected
191
- */
192
204
  prepareIncludes(cube, errorReporter, splitViews) {
193
205
  if (!cube.includes && !cube.cubes) {
194
206
  return;
@@ -197,13 +209,49 @@ class CubeSymbols {
197
209
  resolvedMembers: new Set(),
198
210
  allMembers: new Set(),
199
211
  };
200
- const types = ['measures', 'dimensions', 'segments', 'hierarchies'];
212
+ const autoIncludeMembers = new Set();
213
+ // `hierarchies` must be processed first
214
+ const types = ['hierarchies', 'measures', 'dimensions', 'segments'];
201
215
  for (const type of types) {
202
- const cubeIncludes = cube.cubes && this.membersFromCubes(cube, cube.cubes, type, errorReporter, splitViews, memberSets) || [];
216
+ let cubeIncludes = [];
217
+ if (cube.cubes) {
218
+ // If the hierarchy is included all members from it should be included as well
219
+ // Extend `includes` with members from hierarchies that should be auto-included
220
+ const cubes = type === 'dimensions' ? cube.cubes.map((it) => {
221
+ const fullPath = this.evaluateReferences(null, it.joinPath, { collectJoinHints: true });
222
+ const split = fullPath.split('.');
223
+ const cubeRef = split[split.length - 1];
224
+ if (it.includes === '*') {
225
+ return it;
226
+ }
227
+ const currentCubeAutoIncludeMembers = Array.from(autoIncludeMembers)
228
+ .filter((path) => path.startsWith(`${cubeRef}.`))
229
+ .map((path) => path.split('.')[1])
230
+ .filter(memberName => !it.includes.find((include) => (include.name || include) === memberName));
231
+ return {
232
+ ...it,
233
+ includes: (it.includes || []).concat(currentCubeAutoIncludeMembers),
234
+ };
235
+ }) : cube.cubes;
236
+ cubeIncludes = this.membersFromCubes(cube, cubes, type, errorReporter, splitViews, memberSets) || [];
237
+ }
238
+ // This is the deprecated approach
203
239
  const includes = cube.includes && this.membersFromIncludeExclude(cube.includes, cube.name, type) || [];
204
240
  const excludes = cube.excludes && this.membersFromIncludeExclude(cube.excludes, cube.name, type) || [];
205
241
  // cube includes will take precedence in case of member clash
206
242
  const finalIncludes = this.diffByMember(this.diffByMember(includes, cubeIncludes).concat(cubeIncludes), excludes);
243
+ if (type === 'hierarchies') {
244
+ for (const member of finalIncludes) {
245
+ const path = member.member.split('.');
246
+ const cubeName = path[path.length - 2];
247
+ const hierarchyName = path[path.length - 1];
248
+ const hierarchy = this.getResolvedMember(type, cubeName, hierarchyName);
249
+ if (hierarchy) {
250
+ const levels = this.evaluateReferences(cubeName, this.getResolvedMember('hierarchies', cubeName, hierarchyName).levels, { originalSorting: true });
251
+ levels.forEach((level) => autoIncludeMembers.add(level));
252
+ }
253
+ }
254
+ }
207
255
  const includeMembers = this.generateIncludeMembers(finalIncludes, cube.name, type);
208
256
  this.applyIncludeMembers(includeMembers, cube, type, errorReporter);
209
257
  cube.includedMembers = [...(cube.includedMembers || []), ...Array.from(new Set(finalIncludes.map((it) => {
@@ -223,16 +271,13 @@ class CubeSymbols {
223
271
  applyIncludeMembers(includeMembers, cube, type, errorReporter) {
224
272
  for (const [memberName, memberDefinition] of includeMembers) {
225
273
  if (cube[type]?.[memberName]) {
226
- errorReporter.error(`Included member '${memberName}' conflicts with existing member of '${cube.name}'. Please consider excluding this member.`);
274
+ errorReporter.error(`Included member '${memberName}' conflicts with existing member of '${cube.name}'. Please consider excluding this member or assigning it an alias.`);
227
275
  }
228
276
  else if (type !== 'hierarchies') {
229
277
  cube[type][memberName] = memberDefinition;
230
278
  }
231
279
  }
232
280
  }
233
- /**
234
- * @protected
235
- */
236
281
  membersFromCubes(parentCube, cubes, type, errorReporter, splitViews, memberSets) {
237
282
  return ramda_1.default.unnest(cubes.map(cubeInclude => {
238
283
  const fullPath = this.evaluateReferences(null, cubeInclude.joinPath, { collectJoinHints: true });
@@ -243,15 +288,10 @@ class CubeSymbols {
243
288
  const fullMemberName = (memberName) => (cubeInclude.prefix ? `${cubeName}_${memberName}` : memberName);
244
289
  if (cubeInclude.includes === '*') {
245
290
  const membersObj = this.symbols[cubeReference]?.cubeObj()?.[type] || {};
246
- if (Array.isArray(membersObj)) {
247
- includes = membersObj.map(it => ({ member: `${fullPath}.${it.name}`, name: fullMemberName(it.name) }));
248
- }
249
- else {
250
- includes = Object.keys(membersObj).map(memberName => ({ member: `${fullPath}.${memberName}`, name: fullMemberName(memberName) }));
251
- }
291
+ includes = Object.keys(membersObj).map(memberName => ({ member: `${fullPath}.${memberName}`, name: fullMemberName(memberName) }));
252
292
  }
253
293
  else {
254
- includes = cubeInclude.includes.map(include => {
294
+ includes = cubeInclude.includes.map((include) => {
255
295
  const member = include.alias || include;
256
296
  if (member.includes('.')) {
257
297
  errorReporter.error(`Paths aren't allowed in cube includes but '${member}' provided as include member`);
@@ -269,7 +309,7 @@ class CubeSymbols {
269
309
  return resolvedMember;
270
310
  });
271
311
  }
272
- const excludes = (cubeInclude.excludes || []).map(exclude => {
312
+ const excludes = (cubeInclude.excludes || []).map((exclude) => {
273
313
  if (exclude.includes('.')) {
274
314
  errorReporter.error(`Paths aren't allowed in cube excludes but '${exclude}' provided as exclude member`);
275
315
  }
@@ -309,7 +349,7 @@ class CubeSymbols {
309
349
  }
310
350
  membersFromIncludeExclude(referencesFn, cubeName, type) {
311
351
  const references = this.evaluateReferences(cubeName, referencesFn);
312
- return ramda_1.default.unnest(references.map(ref => {
352
+ return ramda_1.default.unnest(references.map((ref) => {
313
353
  const path = ref.split('.');
314
354
  if (path.length === 1) {
315
355
  const membersObj = this.symbols[path[0]]?.cubeObj()?.[type] || {};
@@ -324,18 +364,9 @@ class CubeSymbols {
324
364
  }
325
365
  })).filter(Boolean);
326
366
  }
327
- /**
328
- * @protected
329
- */
330
367
  getResolvedMember(type, cubeName, memberName) {
331
- if (Array.isArray(this.symbols[cubeName]?.cubeObj()?.[type])) {
332
- return this.symbols[cubeName]?.cubeObj()?.[type]?.find((it) => it.name === memberName);
333
- }
334
368
  return this.symbols[cubeName]?.cubeObj()?.[type]?.[memberName];
335
369
  }
336
- /**
337
- * @protected
338
- */
339
370
  generateIncludeMembers(members, cubeName, type) {
340
371
  return members.map(memberRef => {
341
372
  const path = memberRef.member.split('.');
@@ -431,9 +462,9 @@ class CubeSymbols {
431
462
  return cubeEvaluator.pathFromArray(fullPath(cubeEvaluator.joinHints(), [referencedCube, name]));
432
463
  }, {
433
464
  // eslint-disable-next-line no-shadow
434
- sqlResolveFn: (symbol, cube, n) => cubeEvaluator.pathFromArray(fullPath(cubeEvaluator.joinHints(), [cube, n])),
465
+ sqlResolveFn: (symbol, currentCube, n) => cubeEvaluator.pathFromArray(fullPath(cubeEvaluator.joinHints(), [currentCube, n])),
435
466
  // eslint-disable-next-line no-shadow
436
- cubeAliasFn: (cube) => cubeEvaluator.pathFromArray(fullPath(cubeEvaluator.joinHints(), [cube])),
467
+ cubeAliasFn: (currentCube) => cubeEvaluator.pathFromArray(fullPath(cubeEvaluator.joinHints(), [currentCube])),
437
468
  collectJoinHints: options.collectJoinHints,
438
469
  });
439
470
  if (!Array.isArray(arrayOrSingle)) {
@@ -536,6 +567,7 @@ class CubeSymbols {
536
567
  }
537
568
  // allFilters is null whenever it's used to test if the member is owned by cube so it should always render to `1 = 1`
538
569
  // and do not check cube validity as it's part of compilation step.
570
+ // @ts-ignore
539
571
  const cubeName = this.cubeNameFromPath(name);
540
572
  return new Proxy({ cube: cubeName }, {
541
573
  get: (cubeNameObj, propertyName) => ({
@@ -544,6 +576,7 @@ class CubeSymbols {
544
576
  return column;
545
577
  },
546
578
  __member() {
579
+ // @ts-ignore
547
580
  return this.pathFromArray([cubeNameObj.cube, propertyName]);
548
581
  },
549
582
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"CubeSymbols.js","sourceRoot":"","sources":["../../../src/compiler/CubeSymbols.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeSymbols.js","sourceRoot":"","sources":["../../../src/compiler/CubeSymbols.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/schema-compiler",
3
3
  "description": "Cube schema compiler",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "1.2.14",
5
+ "version": "1.2.15",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.git",
@@ -40,8 +40,8 @@
40
40
  "@babel/standalone": "^7.24",
41
41
  "@babel/traverse": "^7.24",
42
42
  "@babel/types": "^7.24",
43
- "@cubejs-backend/native": "1.2.14",
44
- "@cubejs-backend/shared": "1.2.14",
43
+ "@cubejs-backend/native": "1.2.15",
44
+ "@cubejs-backend/shared": "1.2.15",
45
45
  "antlr4ts": "0.5.0-alpha.4",
46
46
  "camelcase": "^6.2.0",
47
47
  "cron-parser": "^4.9.0",
@@ -59,8 +59,8 @@
59
59
  },
60
60
  "devDependencies": {
61
61
  "@clickhouse/client": "^1.7.0",
62
- "@cubejs-backend/linter": "1.2.14",
63
- "@cubejs-backend/query-orchestrator": "1.2.14",
62
+ "@cubejs-backend/linter": "1.2.15",
63
+ "@cubejs-backend/query-orchestrator": "1.2.15",
64
64
  "@types/babel__code-frame": "^7.0.6",
65
65
  "@types/babel__generator": "^7.6.8",
66
66
  "@types/babel__traverse": "^7.20.5",
@@ -105,5 +105,5 @@
105
105
  "/node_modules/(?!node-fetch).+\\.js$"
106
106
  ]
107
107
  },
108
- "gitHead": "40a4b8da5560f58e184e0e9841623d5519d21349"
108
+ "gitHead": "73fbfaae8f441fe066925339d8f6a180b2b4082f"
109
109
  }