@cubejs-backend/schema-compiler 1.3.56 → 1.3.58

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 (67) hide show
  1. package/dist/src/adapter/BaseMeasure.js +1 -1
  2. package/dist/src/adapter/BaseMeasure.js.map +1 -1
  3. package/dist/src/adapter/BaseQuery.d.ts +16 -7
  4. package/dist/src/adapter/BaseQuery.d.ts.map +1 -1
  5. package/dist/src/adapter/BaseQuery.js +91 -9
  6. package/dist/src/adapter/BaseQuery.js.map +1 -1
  7. package/dist/src/adapter/BaseSegment.js +1 -1
  8. package/dist/src/adapter/BaseSegment.js.map +1 -1
  9. package/dist/src/adapter/PreAggregations.d.ts.map +1 -1
  10. package/dist/src/adapter/PreAggregations.js +52 -66
  11. package/dist/src/adapter/PreAggregations.js.map +1 -1
  12. package/dist/src/compiler/CubeEvaluator.d.ts +5 -0
  13. package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
  14. package/dist/src/compiler/CubeEvaluator.js +6 -2
  15. package/dist/src/compiler/CubeEvaluator.js.map +1 -1
  16. package/dist/src/compiler/CubeSymbols.d.ts +3 -0
  17. package/dist/src/compiler/CubeSymbols.d.ts.map +1 -1
  18. package/dist/src/compiler/CubeSymbols.js +3 -1
  19. package/dist/src/compiler/CubeSymbols.js.map +1 -1
  20. package/dist/src/compiler/CubeValidator.d.ts.map +1 -1
  21. package/dist/src/compiler/CubeValidator.js +8 -2
  22. package/dist/src/compiler/CubeValidator.js.map +1 -1
  23. package/dist/src/compiler/YamlCompiler.d.ts.map +1 -1
  24. package/dist/src/compiler/YamlCompiler.js +5 -0
  25. package/dist/src/compiler/YamlCompiler.js.map +1 -1
  26. package/dist/src/compiler/transpilers/CubePropContextTranspiler.d.ts.map +1 -1
  27. package/dist/src/compiler/transpilers/CubePropContextTranspiler.js.map +1 -1
  28. package/dist/src/parser/GenericSqlLexer.d.ts +11 -12
  29. package/dist/src/parser/GenericSqlLexer.d.ts.map +1 -1
  30. package/dist/src/parser/GenericSqlLexer.js +97 -144
  31. package/dist/src/parser/GenericSqlLexer.js.map +1 -1
  32. package/dist/src/parser/GenericSqlListener.d.ts +15 -15
  33. package/dist/src/parser/GenericSqlListener.d.ts.map +1 -1
  34. package/dist/src/parser/GenericSqlListener.js +140 -1
  35. package/dist/src/parser/GenericSqlListener.js.map +1 -1
  36. package/dist/src/parser/GenericSqlParser.d.ts +61 -66
  37. package/dist/src/parser/GenericSqlParser.d.ts.map +1 -1
  38. package/dist/src/parser/GenericSqlParser.js +445 -452
  39. package/dist/src/parser/GenericSqlParser.js.map +1 -1
  40. package/dist/src/parser/GenericSqlVisitor.d.ts +15 -15
  41. package/dist/src/parser/GenericSqlVisitor.d.ts.map +1 -1
  42. package/dist/src/parser/GenericSqlVisitor.js +91 -1
  43. package/dist/src/parser/GenericSqlVisitor.js.map +1 -1
  44. package/dist/src/parser/Python3Lexer.d.ts +13 -20
  45. package/dist/src/parser/Python3Lexer.d.ts.map +1 -1
  46. package/dist/src/parser/Python3Lexer.js +631 -772
  47. package/dist/src/parser/Python3Lexer.js.map +1 -1
  48. package/dist/src/parser/Python3Parser.d.ts +385 -393
  49. package/dist/src/parser/Python3Parser.d.ts.map +1 -1
  50. package/dist/src/parser/Python3Parser.js +3637 -3703
  51. package/dist/src/parser/Python3Parser.js.map +1 -1
  52. package/dist/src/parser/Python3ParserListener.d.ts +92 -92
  53. package/dist/src/parser/Python3ParserListener.d.ts.map +1 -1
  54. package/dist/src/parser/Python3ParserListener.js +910 -1
  55. package/dist/src/parser/Python3ParserListener.js.map +1 -1
  56. package/dist/src/parser/Python3ParserVisitor.d.ts +92 -92
  57. package/dist/src/parser/Python3ParserVisitor.d.ts.map +1 -1
  58. package/dist/src/parser/Python3ParserVisitor.js +553 -1
  59. package/dist/src/parser/Python3ParserVisitor.js.map +1 -1
  60. package/dist/src/parser/PythonParser.d.ts +2 -1
  61. package/dist/src/parser/PythonParser.d.ts.map +1 -1
  62. package/dist/src/parser/PythonParser.js +45 -27
  63. package/dist/src/parser/PythonParser.js.map +1 -1
  64. package/dist/src/parser/SqlParser.d.ts.map +1 -1
  65. package/dist/src/parser/SqlParser.js +71 -38
  66. package/dist/src/parser/SqlParser.js.map +1 -1
  67. package/package.json +8 -9
@@ -77,7 +77,7 @@ class BaseSegment {
77
77
  }
78
78
  expressionPath() {
79
79
  if (this.expression) {
80
- return `expr:${this.expression.expressionName}`;
80
+ return `expr:${this.expressionName}`;
81
81
  }
82
82
  const path = this.path();
83
83
  if (path === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSegment.js","sourceRoot":"","sources":["../../../src/adapter/BaseSegment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseSegment.js","sourceRoot":"","sources":["../../../src/adapter/BaseSegment.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PreAggregations.d.ts","sourceRoot":"","sources":["../../../src/adapter/PreAggregations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAEL,wBAAwB,EACxB,oCAAoC,EACrC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC;AAE7B,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,wBAAwB,GAAG,wBAAwB,GAAG;IACnG,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mCAAmC,EAAE,oCAAoC,EAAE,CAAC;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,UAAU,GAAG,QAAQ,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,gCAAgC,CAAC;IACjD,UAAU,EAAE,wBAAwB,CAAC;IACrC,qBAAqB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACjD,yBAAyB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,sBAAsB,GAAG;IACzE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,gCAAgC,CAAC;IACjD,UAAU,EAAE,wBAAwB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,eAAe,GAAG,WAAW,CAAC;AAElG,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,wBAAwB,KAAK,OAAO,CAAC;AAEvF;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEnC,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAElC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAM;IAErC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAEvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAK;IAElC,OAAO,CAAC,0BAA0B,CAAkB;IAE7C,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAa;gBAE3D,KAAK,EAAE,SAAS,EAAE,cAAc,KAAA,EAAE,gBAAgB,KAAA;IAOrE;;OAEG;IACI,0BAA0B,IAAI,6BAA6B,EAAE;IAcpE,OAAO,CAAC,+BAA+B;IAuBvC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,6BAA6B;IAyBrC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,sCAAsC;IAM9C,OAAO,CAAC,qBAAqB;IAStB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,wBAAwB,GAAG,MAAM,EAAE;IAoB5F,OAAO,CAAC,4BAA4B;IAoIpC,OAAO,CAAC,uBAAuB;IASxB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;WAkBnE,0BAA0B,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB;WAiI9D,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,KAAA,GAAG,MAAM,EAAE;WAQjD,uCAAuC,CAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE;WAOtJ,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE;WAOnI,2CAA2C,CAAC,OAAO,KAAA,EAAE,GAAG,KAAA;WAiBxD,4BAA4B,CAAC,KAAK,KAAA;;;;;IAQhD,OAAO,CAAC,sBAAsB;IAO9B;;;OAGG;WACW,yCAAyC,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,GAAE,wBAAwB,GAAG,IAAW,GAAG,sBAAsB;IAwPjK,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAQ/B,OAAO,CAAC,MAAM,CAAC,cAAc;IAM7B,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAQ/B,cAAc,CAAC,KAAK,KAAA,EAAE,mBAAmB,KAAA,EAAE,eAAe,KAAA,GAAG,OAAO;IAI3E;;;;;OAKG;IACI,0BAA0B,IAAI,sBAAsB,GAAG,SAAS;IAevE,OAAO,CAAC,oCAAoC;IAoC5C;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,gCAAgC;IAQjC,6BAA6B,CAAC,IAAI,KAAA,EAAE,kBAAkB,KAAA,GAAG,mCAAmC,GAAG,EAAE;IAoBxG,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,0BAA0B;WAsFpB,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,GAAG,MAAM;WAO1H,4BAA4B,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,gBAAgB;IAWrK,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAUxB,6BAA6B;;;;;;IAS7B,sBAAsB,IAAI,gBAAgB;WAInC,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAYvD,eAAe,CAAC,WAAW,KAAA;IAI3B,iCAAiC,CAAC,EAAE,KAAA;;;;IAM3C,OAAO,CAAC,iBAAiB;IAWlB,8BAA8B,CAAC,IAAI,KAAA,EAAE,WAAW,KAAA,GAAG,SAAS;IAY5D,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,gCAAgC,EAAE,OAAO,GAAE,yBAA8B,GAAG,SAAS;IAgC1I,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,gCAAgC,GAAG,SAAS;IAgB5G,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IAmCtB,8BAA8B,CAAC,yBAAyB,EAAE,qBAAqB,GAAG,MAAM;IAe/F,OAAO,CAAC,iBAAiB;IAwDlB,oBAAoB,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,KAAA,GAAG,MAAM;IA2EjJ,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,2BAA2B;IAoBnC,OAAO,CAAC,+BAA+B;IAgBvC,OAAO,CAAC,aAAa;IAOd,cAAc,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,MAAM,EAAE;IAIxE,gBAAgB,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,MAAM,EAAE;IAI1E,oBAAoB,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,oCAAoC,EAAE;IAI5G,gBAAgB,CAAC,cAAc,EAAE,sBAAsB,GAAG,MAAM;CAGxE"}
1
+ {"version":3,"file":"PreAggregations.d.ts","sourceRoot":"","sources":["../../../src/adapter/PreAggregations.ts"],"names":[],"mappings":"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"}
@@ -250,15 +250,18 @@ class PreAggregations {
250
250
  return null;
251
251
  }
252
252
  static transformQueryToCanUseForm(query) {
253
- const flattenDimensionMembers = this.flattenDimensionMembers(query);
254
- const sortedDimensions = this.squashDimensions(flattenDimensionMembers);
255
253
  const allBackAliasMembers = query.allBackAliasMembers();
254
+ const resolveFullMemberPath = query.resolveFullMemberPathFn();
255
+ const flattenDimensionMembers = this.flattenDimensionMembers(query);
256
+ const sortedDimensions = this.squashDimensions(flattenDimensionMembers).map(resolveFullMemberPath);
256
257
  const measures = [...query.measures, ...query.measureFilters];
257
- const measurePaths = ramda_1.default.uniq(this.flattenMembers(measures).filter((m) => m instanceof BaseMeasure_1.BaseMeasure).map(m => m.expressionPath()));
258
+ const measurePaths = (ramda_1.default.uniq(this.flattenMembers(measures)
259
+ .filter((m) => m instanceof BaseMeasure_1.BaseMeasure)
260
+ .map(m => m.expressionPath()))).map(resolveFullMemberPath);
258
261
  const collectLeafMeasures = query.collectLeafMeasures.bind(query);
259
262
  const dimensionsList = query.dimensions.map(dim => dim.expressionPath());
260
263
  const segmentsList = query.segments.map(s => s.expressionPath());
261
- const ownedDimensions = PreAggregations.ownedMembers(query, flattenDimensionMembers);
264
+ const ownedDimensions = PreAggregations.ownedMembers(query, flattenDimensionMembers).map(resolveFullMemberPath);
262
265
  const ownedTimeDimensions = query.timeDimensions.map(td => {
263
266
  const owned = PreAggregations.ownedMembers(query, [td]);
264
267
  let { dimension } = td;
@@ -294,7 +297,7 @@ class PreAggregations {
294
297
  };
295
298
  });
296
299
  return leafMeasures;
297
- }), ramda_1.default.unnest, ramda_1.default.uniq)(measures);
300
+ }), ramda_1.default.unnest, ramda_1.default.uniq, ramda_1.default.map(resolveFullMemberPath))(measures);
298
301
  function allValuesEq1(map) {
299
302
  if (!map)
300
303
  return false;
@@ -307,8 +310,10 @@ class PreAggregations {
307
310
  }
308
311
  const sortedTimeDimensions = PreAggregations.sortTimeDimensionsWithRollupGranularity(query.timeDimensions);
309
312
  const timeDimensions = PreAggregations.timeDimensionsAsIs(query.timeDimensions);
310
- const ownedTimeDimensionsWithRollupGranularity = PreAggregations.sortTimeDimensionsWithRollupGranularity(ownedTimeDimensions);
311
- const ownedTimeDimensionsAsIs = PreAggregations.timeDimensionsAsIs(ownedTimeDimensions);
313
+ const ownedTimeDimensionsWithRollupGranularity = PreAggregations.sortTimeDimensionsWithRollupGranularity(ownedTimeDimensions)
314
+ .map(([d, g]) => [resolveFullMemberPath(d), g]);
315
+ const ownedTimeDimensionsAsIs = PreAggregations.timeDimensionsAsIs(ownedTimeDimensions)
316
+ .map(([d, g]) => [resolveFullMemberPath(d), g]);
312
317
  const hasNoTimeDimensionsWithoutGranularity = !query.timeDimensions.filter(d => !d.granularity).length;
313
318
  const allFiltersWithinSelectedDimensions = ramda_1.default.all((d) => dimensionsList.indexOf(d) !== -1)(ramda_1.default.flatten(query.filters.map(f => f.getMembers())).map(f => query.cubeEvaluator.pathFromArray(f.path())));
314
319
  const isAdditive = ramda_1.default.all(m => m.isAdditive(), query.measures);
@@ -396,33 +401,6 @@ class PreAggregations {
396
401
  * for specified query, or its value for `refs` if specified.
397
402
  */
398
403
  static canUsePreAggregationForTransformedQueryFn(transformedQuery, refs = null) {
399
- // TODO this needs to check not only members list, but their join paths as well:
400
- // query can have same members as pre-agg, but different calculated join path
401
- // `refs` will come from pre-agg references, and would contain full join paths
402
- // TODO remove this in favor of matching with join path
403
- function trimmedReferences(references) {
404
- const timeDimensionsTrimmed = references
405
- .timeDimensions
406
- .map(td => ({
407
- ...td,
408
- dimension: CubeSymbols_1.CubeSymbols.joinHintFromPath(td.dimension).path,
409
- }));
410
- const measuresTrimmed = references
411
- .measures
412
- .map(m => CubeSymbols_1.CubeSymbols.joinHintFromPath(m).path);
413
- const dimensionsTrimmed = references
414
- .dimensions
415
- .map(d => CubeSymbols_1.CubeSymbols.joinHintFromPath(d).path);
416
- const multipliedMeasuresTrimmed = references
417
- .multipliedMeasures?.map(m => CubeSymbols_1.CubeSymbols.joinHintFromPath(m).path) || [];
418
- return {
419
- ...references,
420
- dimensions: dimensionsTrimmed,
421
- measures: measuresTrimmed,
422
- timeDimensions: timeDimensionsTrimmed,
423
- multipliedMeasures: multipliedMeasuresTrimmed,
424
- };
425
- }
426
404
  /**
427
405
  * Returns an array of 2-elements arrays with the dimension and granularity
428
406
  * sorted by the concatenated dimension + granularity key.
@@ -442,17 +420,15 @@ class PreAggregations {
442
420
  * Determine whether pre-aggregation can be used or not.
443
421
  */
444
422
  const canUsePreAggregationNotAdditive = (references) => {
445
- // TODO remove this in favor of matching with join path
446
- const referencesTrimmed = trimmedReferences(references);
447
- const refTimeDimensions = backAlias(sortTimeDimensions(referencesTrimmed.timeDimensions));
423
+ const refTimeDimensions = backAlias(sortTimeDimensions(references.timeDimensions));
448
424
  const qryTimeDimensions = references.allowNonStrictDateRangeMatch
449
425
  ? transformedQuery.timeDimensions
450
426
  : transformedQuery.sortedTimeDimensions;
451
- const backAliasMeasures = backAlias(referencesTrimmed.measures);
452
- const backAliasDimensions = backAlias(referencesTrimmed.dimensions);
427
+ const backAliasMeasures = backAlias(references.measures);
428
+ const backAliasDimensions = backAlias(references.dimensions);
453
429
  return ((transformedQuery.hasNoTimeDimensionsWithoutGranularity) && (!transformedQuery.hasCumulativeMeasures) && (ramda_1.default.equals(qryTimeDimensions, refTimeDimensions)) && (transformedQuery.isAdditive ||
454
430
  ramda_1.default.equals(transformedQuery.timeDimensions, refTimeDimensions)) && (filterDimensionsSingleValueEqual &&
455
- referencesTrimmed.dimensions.length === filterDimensionsSingleValueEqual.size &&
431
+ references.dimensions.length === filterDimensionsSingleValueEqual.size &&
456
432
  ramda_1.default.all(d => filterDimensionsSingleValueEqual.has(d), backAliasDimensions) ||
457
433
  transformedQuery.allFiltersWithinSelectedDimensions &&
458
434
  ramda_1.default.equals(backAliasDimensions, transformedQuery.sortedDimensions)) && (ramda_1.default.all(m => backAliasMeasures.indexOf(m) !== -1, transformedQuery.measures) ||
@@ -461,16 +437,11 @@ class PreAggregations {
461
437
  };
462
438
  /**
463
439
  * Expand granularity into array of granularity hierarchy.
464
- * @param {string} dimension Dimension in the form of `cube.timeDimension`
465
- * @param {string} granularity Granularity
466
- * @returns {Array<string>}
467
440
  */
468
441
  const expandGranularity = (dimension, granularity) => (transformedQuery.granularityHierarchies[`${dimension}.${granularity}`] ||
469
442
  [granularity]);
470
443
  /**
471
444
  * Determine whether time dimensions match to the window granularity or not.
472
- * @param {PreAggregationReferences} references
473
- * @returns {boolean}
474
445
  */
475
446
  const windowGranularityMatches = (references) => {
476
447
  if (!transformedQuery.windowGranularity) {
@@ -484,15 +455,14 @@ class PreAggregations {
484
455
  };
485
456
  /**
486
457
  * Returns an array of 2-element arrays with dimension and granularity.
487
- * @param {*} timeDimension
488
- * @returns {Array<Array<string>>}
489
458
  */
490
459
  const expandTimeDimension = (timeDimension) => {
491
460
  const [dimension, resolvedGranularity] = timeDimension;
492
461
  if (!resolvedGranularity) {
493
462
  return [[dimension, '*']]; // Any granularity should fit
494
463
  }
495
- return expandGranularity(dimension, resolvedGranularity)
464
+ const trimmedDim = dimension.split('.').slice(-2).join('.');
465
+ return expandGranularity(trimmedDim, resolvedGranularity)
496
466
  .map((newGranularity) => [dimension, newGranularity]);
497
467
  };
498
468
  const canUsePreAggregationLeafMeasureAdditive = (references) => {
@@ -506,21 +476,25 @@ class PreAggregations {
506
476
  const ownedQueryTimeDimensionsList = references.allowNonStrictDateRangeMatch
507
477
  ? transformedQuery.ownedTimeDimensionsAsIs.map(expandTimeDimension)
508
478
  : transformedQuery.ownedTimeDimensionsWithRollupGranularity.map(expandTimeDimension);
509
- // TODO remove this in favor of matching with join path
510
- const referencesTrimmed = trimmedReferences(references);
511
479
  // Even if there are no multiplied measures in the query (because no multiplier dimensions are requested)
512
480
  // but the same measures are multiplied in the pre-aggregation, we can't use pre-aggregation
513
481
  // for such queries.
514
- if (referencesTrimmed.multipliedMeasures) {
515
- const backAliasMultipliedMeasures = backAlias(referencesTrimmed.multipliedMeasures);
516
- if (transformedQuery.leafMeasures.some(m => referencesTrimmed.multipliedMeasures?.includes(m)) ||
482
+ if (references.multipliedMeasures) {
483
+ const backAliasMultipliedMeasures = backAlias(references.multipliedMeasures);
484
+ if (transformedQuery.leafMeasures.some(m => references.multipliedMeasures?.includes(m)) ||
517
485
  transformedQuery.measures.some(m => backAliasMultipliedMeasures.includes(m))) {
518
486
  return false;
519
487
  }
520
488
  }
489
+ // In 'rollupJoin' / 'rollupLambda' pre-aggregations fullName members will be empty, because there are
490
+ // no connections in the joinTree between cubes from different datasources
491
+ const dimsToMatch = references.fullNameDimensions.length > 0 ? references.fullNameDimensions : references.dimensions;
521
492
  const dimensionsMatch = (dimensions, doBackAlias) => ramda_1.default.all(d => (doBackAlias ?
522
- backAlias(referencesTrimmed.dimensions) :
523
- (referencesTrimmed.dimensions)).indexOf(d) !== -1, dimensions);
493
+ backAlias(dimsToMatch) :
494
+ (dimsToMatch)).indexOf(d) !== -1, dimensions);
495
+ // In 'rollupJoin' / 'rollupLambda' pre-aggregations fullName members will be empty, because there are
496
+ // no connections in the joinTree between cubes from different datasources
497
+ const timeDimsToMatch = references.fullNameTimeDimensions.length > 0 ? references.fullNameTimeDimensions : references.timeDimensions;
524
498
  const timeDimensionsMatch = (timeDimensionsList, doBackAlias) => ramda_1.default.allPass(timeDimensionsList.map(tds => ramda_1.default.anyPass(tds.map((td) => {
525
499
  if (td[1] === '*') {
526
500
  return ramda_1.default.any((tdtc) => tdtc[0] === td[0]); // need to match the dimension at least
@@ -529,21 +503,21 @@ class PreAggregations {
529
503
  return ramda_1.default.includes(td);
530
504
  }
531
505
  }))))(doBackAlias ?
532
- backAlias(sortTimeDimensions(referencesTrimmed.timeDimensions)) :
533
- (sortTimeDimensions(referencesTrimmed.timeDimensions)));
506
+ backAlias(sortTimeDimensions(timeDimsToMatch)) :
507
+ (sortTimeDimensions(timeDimsToMatch)));
534
508
  if (transformedQuery.ungrouped) {
535
509
  const allReferenceCubes = ramda_1.default.pipe(ramda_1.default.map((name) => name?.split('.')[0]), ramda_1.default.uniq, ramda_1.default.sortBy(ramda_1.default.identity))([
536
- ...referencesTrimmed.measures,
537
- ...referencesTrimmed.dimensions,
538
- ...referencesTrimmed.timeDimensions.map(td => td.dimension),
510
+ ...references.measures.map(m => CubeSymbols_1.CubeSymbols.joinHintFromPath(m).path),
511
+ ...references.dimensions.map(d => CubeSymbols_1.CubeSymbols.joinHintFromPath(d).path),
512
+ ...references.timeDimensions.map(td => CubeSymbols_1.CubeSymbols.joinHintFromPath(td.dimension).path),
539
513
  ]);
540
514
  if (!ramda_1.default.equals(transformedQuery.sortedAllCubeNames, allReferenceCubes) ||
541
515
  !(dimensionsMatch(transformedQuery.sortedUsedCubePrimaryKeys, true) || dimensionsMatch(transformedQuery.sortedUsedCubePrimaryKeys, false))) {
542
516
  return false;
543
517
  }
544
518
  }
545
- const backAliasMeasures = backAlias(referencesTrimmed.measures);
546
- return ((windowGranularityMatches(references)) && (ramda_1.default.all((m) => referencesTrimmed.measures.indexOf(m) !== -1, transformedQuery.leafMeasures) || ramda_1.default.all(m => backAliasMeasures.indexOf(m) !== -1, transformedQuery.measures)) && (dimensionsMatch(transformedQuery.sortedDimensions, true) && timeDimensionsMatch(queryTimeDimensionsList, true) ||
519
+ const backAliasMeasures = backAlias(references.measures);
520
+ return ((windowGranularityMatches(references)) && (ramda_1.default.all((m) => references.measures.indexOf(m) !== -1, transformedQuery.leafMeasures) || ramda_1.default.all(m => backAliasMeasures.indexOf(m) !== -1, transformedQuery.measures)) && (dimensionsMatch(transformedQuery.sortedDimensions, true) && timeDimensionsMatch(queryTimeDimensionsList, true) ||
547
521
  dimensionsMatch(transformedQuery.ownedDimensions, false) && timeDimensionsMatch(ownedQueryTimeDimensionsList, false)));
548
522
  };
549
523
  const canUseFn = (transformedQuery.leafMeasureAdditive && !transformedQuery.hasMultipliedMeasures && !transformedQuery.hasMultiStage || transformedQuery.ungrouped) ? ((r) => canUsePreAggregationLeafMeasureAdditive(r) ||
@@ -864,7 +838,6 @@ class PreAggregations {
864
838
  ungrouped: cubeQuery.preAggregationAllowUngroupingWithPrimaryKey(cube, aggregation) &&
865
839
  !!references.dimensions.find((d) => {
866
840
  // `d` can contain full join path, so we should trim it
867
- // TODO check full join path match here
868
841
  const trimmedDimension = CubeSymbols_1.CubeSymbols.joinHintFromPath(d).path;
869
842
  return this.query.cubeEvaluator.dimensionByPath(trimmedDimension).primaryKey;
870
843
  }),
@@ -902,15 +875,28 @@ class PreAggregations {
902
875
  .toLowerCase();
903
876
  }
904
877
  evaluateAllReferences(cube, aggregation, preAggregationName = null, context = {}) {
905
- // TODO build a join tree for all references, so they would always include full join path
906
- // Even for preaggregation references without join path
907
- // It is necessary to be able to match query and preaggregation based on full join tree
908
878
  const evaluateReferences = () => {
909
879
  const references = this.query.cubeEvaluator.evaluatePreAggregationReferences(cube, aggregation);
910
880
  if (!context.inPreAggEvaluation) {
911
881
  const preAggQuery = this.query.preAggregationQueryForSqlEvaluation(cube, aggregation, { inPreAggEvaluation: true });
912
882
  const aggregateMeasures = preAggQuery?.fullKeyQueryAggregateMeasures({ hasMultipliedForPreAggregation: true });
913
883
  references.multipliedMeasures = aggregateMeasures?.multipliedMeasures?.map(m => m.measure);
884
+ if (preAggQuery) {
885
+ // We need to build a join tree for all references, so they would always include full join path
886
+ // even for preaggregation references without join path. It is necessary to be able to match
887
+ // query and preaggregation based on full join tree. But we can not update
888
+ // references.{dimensions,measures,timeDimensions} directly, because it will break
889
+ // evaluation of references in the query on later stages.
890
+ // So we store full named members separately and use them in canUsePreAggregation functions.
891
+ references.joinTree = preAggQuery.join;
892
+ const root = references.joinTree?.root || '';
893
+ references.fullNameMeasures = references.measures.map(m => (m.startsWith(root) ? m : `${root}.${m}`));
894
+ references.fullNameDimensions = references.dimensions.map(d => (d.startsWith(root) ? d : `${root}.${d}`));
895
+ references.fullNameTimeDimensions = references.timeDimensions.map(d => ({
896
+ dimension: (d.dimension.startsWith(root) ? d.dimension : `${root}.${d.dimension}`),
897
+ granularity: d.granularity,
898
+ }));
899
+ }
914
900
  }
915
901
  if (aggregation.type === 'rollupLambda') {
916
902
  if (references.rollups.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"PreAggregations.js","sourceRoot":"","sources":["../../../src/adapter/PreAggregations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PreAggregations.js","sourceRoot":"","sources":["../../../src/adapter/PreAggregations.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { AccessPolicyDefinition, CubeDefinitionExtended, CubeSymbols, HierarchyD
2
2
  import { PreAggregationDefinitionExtended } from '../adapter';
3
3
  import type { CubeValidator } from './CubeValidator';
4
4
  import type { ErrorReporter } from './ErrorReporter';
5
+ import { FinishedJoinTree } from './JoinGraph';
5
6
  export type SegmentDefinition = {
6
7
  type: string;
7
8
  sql(): string;
@@ -67,10 +68,14 @@ export type PreAggregationTimeDimensionReference = {
67
68
  export type PreAggregationReferences = {
68
69
  allowNonStrictDateRangeMatch?: boolean;
69
70
  dimensions: Array<string>;
71
+ fullNameDimensions: Array<string>;
70
72
  measures: Array<string>;
73
+ fullNameMeasures: Array<string>;
71
74
  timeDimensions: Array<PreAggregationTimeDimensionReference>;
75
+ fullNameTimeDimensions: Array<PreAggregationTimeDimensionReference>;
72
76
  rollups: Array<string>;
73
77
  multipliedMeasures?: Array<string>;
78
+ joinTree?: FinishedJoinTree;
74
79
  };
75
80
  export type PreAggregationInfo = {
76
81
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEvaluator.d.ts","sourceRoot":"","sources":["../../../src/compiler/CubeEvaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeEvaluator.d.ts","sourceRoot":"","sources":["../../../src/compiler/CubeEvaluator.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAa,gCAAgC,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,IAAI,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,4BAA4B,EAAE,CAAC;IACrD,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AAEjF,MAAM,MAAM,oCAAoC,GAAG;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAGF,MAAM,MAAM,wBAAwB,GAAG;IACrC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,cAAc,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC5D,sBAAsB,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,EAAE,CAAC;IACxE,IAAI,EAAE,QAAQ,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5C,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC;IACtC,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACzC,CAAC;AAEF,qBAAa,aAAc,SAAQ,WAAW;IAU1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAT1C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAM;IAEnD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAE3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAM;IAEjE,OAAO,CAAC,kBAAkB,CAAwB;gBAG7B,aAAa,EAAE,aAAa;IAK1C,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,aAAa;IA6BzD,SAAS,CAAC,WAAW,CAAC,IAAI,KAAA,EAAE,aAAa,EAAE,aAAa,GAAG,aAAa;IAkBxE,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAkD3B,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,kBAAkB;IAqF1B,OAAO,CAAC,4BAA4B;IA+BpC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa;IA4C9D,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa;IAoExE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa;IAuCvE,eAAe,CAAC,QAAQ,KAAA,GAAG,sBAAsB,EAAE;IAInD,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAUjD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAIhE,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAOxE,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAItF,6BAA6B,CAAC,IAAI,EAAE,MAAM;;;IAO1C,+BAA+B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;IAgB3E;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,KAAK,CAAC,kBAAkB,CAAC;IA0DzE,wBAAwB,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAIrD,SAAS,IAAI,MAAM,EAAE;IAIrB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAIlD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAI7C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAI3C,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB;IAIrD,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB;IAI3D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB;IAIrD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAIzC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAQ7B,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAMhG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBrC,MAAM,CAAC,CAAC,SAAS,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IA4BxI,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAMnG,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IAIxC,aAAa,IAAI,OAAO;IASxB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAMxC,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;;;;;IAiCtD;;;OAGG;IACI,wBAAwB,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAI7H,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,8BAA8B,GAAG,wBAAwB;CAmC7H"}
@@ -346,14 +346,15 @@ class CubeEvaluator extends CubeSymbols_1.CubeSymbols {
346
346
  if (member.sql && !member.subQuery) {
347
347
  const funcArgs = this.funcArguments(member.sql);
348
348
  const { cubeReferencesUsed, evaluatedSql, pathReferencesUsed } = this.collectUsedCubeReferences(cube.name, member.sql);
349
- // We won't check for FILTER_PARAMS here as it shouldn't affect ownership and it should obey the same reference rules.
349
+ // We won't check for FILTER_PARAMS here as it shouldn't affect ownership, and it should obey the same reference rules.
350
350
  // To affect ownership FILTER_PARAMS can be declared as `${FILTER_PARAMS.Foo.bar.filter(`${Foo.bar}`)}`.
351
351
  // It isn't owned if there are non {CUBE} references
352
352
  if (funcArgs.length > 0 && cubeReferencesUsed.length === 0) {
353
353
  ownedByCube = false;
354
354
  }
355
355
  // Aliases one to one some another member as in case of views
356
- if (!ownedByCube && !member.filters && CubeSymbols_1.CubeSymbols.isCalculatedMeasureType(member.type) && pathReferencesUsed.length === 1 && this.pathFromArray(pathReferencesUsed[0]) === evaluatedSql) {
356
+ // Note: Segments do not have type set
357
+ if (!ownedByCube && !member.filters && (!member.type || CubeSymbols_1.CubeSymbols.isCalculatedMeasureType(member.type)) && pathReferencesUsed.length === 1 && this.pathFromArray(pathReferencesUsed[0]) === evaluatedSql) {
357
358
  aliasMember = this.pathFromArray(pathReferencesUsed[0]);
358
359
  }
359
360
  const foreignCubes = cubeReferencesUsed.filter(usedCube => usedCube !== cube.name);
@@ -600,6 +601,9 @@ class CubeEvaluator extends CubeSymbols_1.CubeSymbols {
600
601
  measures: (aggregation.measureReferences && this.evaluateReferences(cube, aggregation.measureReferences, { collectJoinHints: true }) || []),
601
602
  timeDimensions,
602
603
  rollups: aggregation.rollupReferences && this.evaluateReferences(cube, aggregation.rollupReferences, { originalSorting: true }) || [],
604
+ fullNameDimensions: [],
605
+ fullNameMeasures: [],
606
+ fullNameTimeDimensions: [], // May be filled in PreAggregations.evaluateAllReferences()
603
607
  };
604
608
  }
605
609
  }