Skip to content

Commit f5c5d4f

Browse files
committed
get rid of references.fullName* in favor of fullpath-members
1 parent b1f2f31 commit f5c5d4f

File tree

5 files changed

+15
-42
lines changed

5 files changed

+15
-42
lines changed

packages/cubejs-schema-compiler/src/adapter/PreAggregations.ts

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -653,9 +653,9 @@ export class PreAggregations {
653653
? transformedQuery.timeDimensions
654654
: transformedQuery.sortedTimeDimensions;
655655

656-
const refTimeDimensions = backAlias(sortTimeDimensions(references.fullNameTimeDimensions));
657-
const backAliasMeasures = backAlias(references.fullNameMeasures);
658-
const backAliasDimensions = backAlias(references.fullNameDimensions);
656+
const refTimeDimensions = backAlias(sortTimeDimensions(references.timeDimensions));
657+
const backAliasMeasures = backAlias(references.measures);
658+
const backAliasDimensions = backAlias(references.dimensions);
659659
return ((
660660
transformedQuery.hasNoTimeDimensionsWithoutGranularity
661661
) && (
@@ -746,11 +746,8 @@ export class PreAggregations {
746746
}
747747
}
748748

749-
const dimsToMatch = references.fullNameDimensions;
750-
const timeDimsToMatch = references.fullNameTimeDimensions;
751-
752749
const dimensionsMatch = (dimensions, doBackAlias) => {
753-
const target = doBackAlias ? backAlias(dimsToMatch) : dimsToMatch;
750+
const target = doBackAlias ? backAlias(references.dimensions) : references.dimensions;
754751
return dimensions.every(d => target.includes(d));
755752
};
756753

@@ -766,8 +763,8 @@ export class PreAggregations {
766763
)
767764
)(
768765
doBackAlias ?
769-
backAlias(sortTimeDimensions(timeDimsToMatch)) :
770-
(sortTimeDimensions(timeDimsToMatch))
766+
backAlias(sortTimeDimensions(references.timeDimensions)) :
767+
(sortTimeDimensions(references.timeDimensions))
771768
);
772769

773770
if (transformedQuery.ungrouped) {
@@ -1065,8 +1062,8 @@ export class PreAggregations {
10651062

10661063
private cubesFromPreAggregation(preAggObj: PreAggregationForQuery): string[] {
10671064
return R.uniq(
1068-
preAggObj.references.measures.map(m => this.query.cubeEvaluator.parsePath('measures', m)).concat(
1069-
preAggObj.references.dimensions.map(m => this.query.cubeEvaluator.parsePathAnyType(m))
1065+
preAggObj.references.measures.map(m => this.query.cubeEvaluator.parsePath('measures', this.query.cubeEvaluator.memberShortNameFromPath(m))).concat(
1066+
preAggObj.references.dimensions.map(m => this.query.cubeEvaluator.parsePathAnyType(this.query.cubeEvaluator.memberShortNameFromPath(m)))
10701067
).map(p => p[0])
10711068
);
10721069
}
@@ -1125,19 +1122,19 @@ export class PreAggregations {
11251122
return path.reverse();
11261123
};
11271124

1128-
references.fullNameDimensions = references.dimensions.map(d => {
1125+
references.dimensions = references.dimensions.map(d => {
11291126
const [cubeName, ...restPath] = d.split('.');
11301127
const path = buildPath(cubeName);
11311128

11321129
return `${path.join('.')}.${restPath.join('.')}`;
11331130
});
1134-
references.fullNameMeasures = references.measures.map(m => {
1131+
references.measures = references.measures.map(m => {
11351132
const [cubeName, ...restPath] = m.split('.');
11361133
const path = buildPath(cubeName);
11371134

11381135
return `${path.join('.')}.${restPath.join('.')}`;
11391136
});
1140-
references.fullNameTimeDimensions = references.timeDimensions.map(td => {
1137+
references.timeDimensions = references.timeDimensions.map(td => {
11411138
const [cubeName, ...restPath] = td.dimension.split('.');
11421139
const path = buildPath(cubeName);
11431140

@@ -1198,9 +1195,6 @@ export class PreAggregations {
11981195
});
11991196
referencedPreAggregations.forEach(preAgg => {
12001197
references.rollupsReferences.push(preAgg.references);
1201-
references.fullNameDimensions.push(...preAgg.references.fullNameDimensions);
1202-
references.fullNameMeasures.push(...preAgg.references.fullNameMeasures);
1203-
references.fullNameTimeDimensions.push(...preAgg.references.fullNameTimeDimensions);
12041198
});
12051199
return {
12061200
...preAggObj,
@@ -1235,7 +1229,7 @@ export class PreAggregations {
12351229
if (typeof member !== 'string') {
12361230
return `${member.dimension.split('.')[1]}.${member.granularity}`;
12371231
} else {
1238-
return member.split('.')[1];
1232+
return member.split('.').at(-1)!;
12391233
}
12401234
});
12411235
}
@@ -1386,9 +1380,9 @@ export class PreAggregations {
13861380
// So we store full named members separately and use them in canUsePreAggregation functions.
13871381
references.joinTree = preAggQuery.join;
13881382
const root = references.joinTree?.root || '';
1389-
references.fullNameMeasures = references.measures.map(m => (m.startsWith(root) ? m : `${root}.${m}`));
1390-
references.fullNameDimensions = references.dimensions.map(d => (d.startsWith(root) ? d : `${root}.${d}`));
1391-
references.fullNameTimeDimensions = references.timeDimensions.map(d => ({
1383+
references.measures = references.measures.map(m => (m.startsWith(root) ? m : `${root}.${m}`));
1384+
references.dimensions = references.dimensions.map(d => (d.startsWith(root) ? d : `${root}.${d}`));
1385+
references.timeDimensions = references.timeDimensions.map(d => ({
13921386
dimension: (d.dimension.startsWith(root) ? d.dimension : `${root}.${d.dimension}`),
13931387
granularity: d.granularity,
13941388
}));

packages/cubejs-schema-compiler/src/compiler/CubeEvaluator.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,8 @@ export type PreAggregationTimeDimensionReference = {
8989
export type PreAggregationReferences = {
9090
allowNonStrictDateRangeMatch?: boolean,
9191
dimensions: Array<string>,
92-
fullNameDimensions: Array<string>,
9392
measures: Array<string>,
94-
fullNameMeasures: Array<string>,
9593
timeDimensions: Array<PreAggregationTimeDimensionReference>,
96-
fullNameTimeDimensions: Array<PreAggregationTimeDimensionReference>,
9794
rollups: Array<string>,
9895
rollupsReferences: Array<PreAggregationReferences>,
9996
multipliedMeasures?: Array<string>,
@@ -901,9 +898,6 @@ export class CubeEvaluator extends CubeSymbols {
901898
timeDimensions,
902899
rollups:
903900
aggregation.rollupReferences && this.evaluateReferences(cube, aggregation.rollupReferences, { originalSorting: true }) || [],
904-
fullNameDimensions: [], // May be filled in PreAggregations.evaluateAllReferences()
905-
fullNameMeasures: [], // May be filled in PreAggregations.evaluateAllReferences()
906-
fullNameTimeDimensions: [], // May be filled in PreAggregations.evaluateAllReferences()
907901
rollupsReferences: [], // May be filled in PreAggregations.evaluateAllReferences()
908902
};
909903
}

packages/cubejs-schema-compiler/test/unit/pre-agg-by-filter-match.test.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,6 @@ describe('Pre Aggregation by filter match tests', () => {
5959
granularity: testPreAgg.granularity,
6060
}],
6161
rollups: [],
62-
fullNameDimensions: testPreAgg.segments ? testPreAgg.dimensions.concat(testPreAgg.segments) : testPreAgg.dimensions,
63-
fullNameMeasures: testPreAgg.measures,
64-
fullNameTimeDimensions: [{
65-
dimension: testPreAgg.timeDimension,
66-
granularity: testPreAgg.granularity,
67-
}],
6862
rollupsReferences: [],
6963
};
7064

packages/cubejs-schema-compiler/test/unit/pre-agg-time-dim-match.test.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,6 @@ describe('Pre Aggregation by filter match tests', () => {
6969
granularity: testPreAgg.granularity,
7070
}],
7171
rollups: [],
72-
fullNameDimensions: testPreAgg.dimensions,
73-
fullNameMeasures: testPreAgg.measures,
74-
fullNameTimeDimensions: [{
75-
dimension: testPreAgg.timeDimension,
76-
granularity: testPreAgg.granularity,
77-
}],
7872
rollupsReferences: [],
7973
};
8074

packages/cubejs-server-core/test/unit/RefreshScheduler.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -666,9 +666,6 @@ describe('Refresh Scheduler', () => {
666666
timeDimensions: [{ dimension: 'Foo.time', granularity: 'hour' }],
667667
rollups: [],
668668
rollupsReferences: [],
669-
fullNameDimensions: [],
670-
fullNameMeasures: [],
671-
fullNameTimeDimensions: [],
672669
},
673670
refreshKey: { every: '1 hour', updateWindow: '1 day', incremental: true },
674671
},

0 commit comments

Comments
 (0)