@cubejs-backend/schema-compiler 1.3.84 → 1.3.85

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.
@@ -136,13 +136,14 @@ export class BaseQuery {
136
136
  prebuildJoin(): void;
137
137
  joinGraphPaths: Record<string, string[]> | undefined;
138
138
  /**
139
- * Is used by native
140
139
  * This function follows the same logic as in this.collectJoinHints()
141
- * @private
140
+ * skipQueryJoinMap is used by PreAggregations to build join tree without user's query all members map
141
+ * @public
142
142
  * @param {Array<(Array<string> | string)>} hints
143
+ * @param { boolean } skipQueryJoinMap
143
144
  * @return {import('../compiler/JoinGraph').FinishedJoinTree}
144
145
  */
145
- private joinTreeForHints;
146
+ public joinTreeForHints(hints: Array<(Array<string> | string)>, skipQueryJoinMap?: boolean): import('../compiler/JoinGraph').FinishedJoinTree;
146
147
  cacheValue(key: any, fn: any, { contextPropNames, inputProps, cache }?: {
147
148
  contextPropNames: any;
148
149
  inputProps: any;
@@ -161,6 +162,13 @@ export class BaseQuery {
161
162
  * @return { Record<string, string[][]>}
162
163
  */
163
164
  private queryJoinMap;
165
+ /**
166
+ * @private
167
+ * @param { import('../compiler/JoinGraph').FinishedJoinTree } joinTree
168
+ * @param { string[] } joinHints
169
+ * @return { string[][] }
170
+ */
171
+ private enrichedJoinHintsFromJoinTree;
164
172
  /**
165
173
  * @private
166
174
  * @param { (string|string[])[] } hints
@@ -1 +1 @@
1
- {"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseQuery.d.ts","sourceRoot":"","sources":["../../../src/adapter/BaseQuery.js"],"names":[],"mappings":"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"}
@@ -349,16 +349,16 @@ class BaseQuery {
349
349
  }
350
350
  }
351
351
  /**
352
- * Is used by native
353
352
  * This function follows the same logic as in this.collectJoinHints()
354
- * @private
353
+ * skipQueryJoinMap is used by PreAggregations to build join tree without user's query all members map
354
+ * @public
355
355
  * @param {Array<(Array<string> | string)>} hints
356
+ * @param { boolean } skipQueryJoinMap
356
357
  * @return {import('../compiler/JoinGraph').FinishedJoinTree}
357
358
  */
358
- joinTreeForHints(hints) {
359
- const explicitJoinHintMembers = new Set(hints.filter(j => Array.isArray(j)).flat());
360
- const queryJoinMaps = this.queryJoinMap();
361
- const newCollectedHints = [];
359
+ joinTreeForHints(hints, skipQueryJoinMap = false) {
360
+ const queryJoinMaps = skipQueryJoinMap ? {} : this.queryJoinMap();
361
+ let newCollectedHints = [];
362
362
  const constructJH = () => ramda_1.default.uniq(this.enrichHintsWithJoinMap([
363
363
  ...newCollectedHints,
364
364
  ...hints,
@@ -377,14 +377,18 @@ class BaseQuery {
377
377
  const iterationCollectedHints = joinMembersJoinHints.filter(j => !allJoinHintsFlatten.has(j));
378
378
  newJoinHintsCollectedCnt = iterationCollectedHints.length;
379
379
  cnt++;
380
- if (newJoin) {
381
- newCollectedHints.push(...joinMembersJoinHints.filter(j => !explicitJoinHintMembers.has(j)));
380
+ if (newJoin && newJoin.joins.length > 0) {
381
+ // Even if there is no join tree changes, we still
382
+ // push correctly ordered join hints, collected from the resolving of members of join tree
383
+ // upfront the all existing query members. This ensures the correct cube join order
384
+ // with transitive joins even if they are already presented among query members.
385
+ newCollectedHints = this.enrichedJoinHintsFromJoinTree(newJoin, joinMembersJoinHints);
382
386
  }
383
387
  } while (newJoin?.joins.length > 0 && !this.isJoinTreesEqual(prevJoin, newJoin) && cnt < 10000 && newJoinHintsCollectedCnt > 0);
384
388
  if (cnt >= 10000) {
385
389
  throw new UserError_1.UserError('Can not construct joins for the query, potential loop detected');
386
390
  }
387
- return newJoin;
391
+ return this.joinGraph.buildJoin(constructJH());
388
392
  }
389
393
  cacheValue(key, fn, { contextPropNames, inputProps, cache } = {}) {
390
394
  const currentContext = this.safeEvaluateSymbolContext();
@@ -450,6 +454,30 @@ class BaseQuery {
450
454
  }
451
455
  return joinMaps;
452
456
  }
457
+ /**
458
+ * @private
459
+ * @param { import('../compiler/JoinGraph').FinishedJoinTree } joinTree
460
+ * @param { string[] } joinHints
461
+ * @return { string[][] }
462
+ */
463
+ enrichedJoinHintsFromJoinTree(joinTree, joinHints) {
464
+ const joinsMap = {};
465
+ for (const j of joinTree.joins) {
466
+ joinsMap[j.to] = j.from;
467
+ }
468
+ return joinHints.map(jh => {
469
+ let cubeName = jh;
470
+ const path = [cubeName];
471
+ while (joinsMap[cubeName]) {
472
+ cubeName = joinsMap[cubeName];
473
+ path.push(cubeName);
474
+ }
475
+ if (path.length === 1) {
476
+ return path[0];
477
+ }
478
+ return path.reverse();
479
+ });
480
+ }
453
481
  /**
454
482
  * @private
455
483
  * @param { (string|string[])[] } hints
@@ -2067,10 +2095,9 @@ class BaseQuery {
2067
2095
  */
2068
2096
  collectJoinHints(excludeTimeDimensions = false) {
2069
2097
  const allMembersJoinHints = this.collectJoinHintsFromMembers(this.allMembersConcat(excludeTimeDimensions));
2070
- const explicitJoinHintMembers = new Set(allMembersJoinHints.filter(j => Array.isArray(j)).flat());
2071
2098
  const queryJoinMaps = this.queryJoinMap();
2072
2099
  const customSubQueryJoinHints = this.collectJoinHintsFromMembers(this.joinMembersFromCustomSubQuery());
2073
- const newCollectedHints = [];
2100
+ let newCollectedHints = [];
2074
2101
  // One cube may join the other cube via transitive joined cubes,
2075
2102
  // members from which are referenced in the join `on` clauses.
2076
2103
  // We need to collect such join hints and push them upfront of the joining one
@@ -2097,8 +2124,12 @@ class BaseQuery {
2097
2124
  const iterationCollectedHints = joinMembersJoinHints.filter(j => !allJoinHintsFlatten.has(j));
2098
2125
  newJoinHintsCollectedCnt = iterationCollectedHints.length;
2099
2126
  cnt++;
2100
- if (newJoin) {
2101
- newCollectedHints.push(...joinMembersJoinHints.filter(j => !explicitJoinHintMembers.has(j)));
2127
+ if (newJoin && newJoin.joins.length > 0) {
2128
+ // Even if there is no join tree changes, we still
2129
+ // push correctly ordered join hints, collected from the resolving of members of join tree
2130
+ // upfront the all existing query members. This ensures the correct cube join order
2131
+ // with transitive joins even if they are already presented among query members.
2132
+ newCollectedHints = this.enrichedJoinHintsFromJoinTree(newJoin, joinMembersJoinHints);
2102
2133
  }
2103
2134
  } while (newJoin?.joins.length > 0 && !this.isJoinTreesEqual(prevJoin, newJoin) && cnt < 10000 && newJoinHintsCollectedCnt > 0);
2104
2135
  if (cnt >= 10000) {
@@ -2134,9 +2165,14 @@ class BaseQuery {
2134
2165
  })) : [];
2135
2166
  }
2136
2167
  collectJoinHintsFromMembers(members) {
2168
+ // Extract cube names from members to make cache key member-cubes-specific
2169
+ const memberCubes = members
2170
+ .map(m => m.cube?.()?.name)
2171
+ .filter(Boolean)
2172
+ .sort();
2137
2173
  return [
2138
2174
  ...members.map(m => m.joinHint).filter(h => h?.length > 0),
2139
- ...this.collectFrom(members, this.collectJoinHintsFor.bind(this), 'collectJoinHintsFromMembers'),
2175
+ ...this.collectFrom(members, this.collectJoinHintsFor.bind(this), ['collectJoinHintsFromMembers', ...memberCubes]),
2140
2176
  ];
2141
2177
  }
2142
2178
  /**