Skip to content

Commit d2210a2

Browse files
committed
[WIP add test] fix(schema-compiler): Handle member expressions in keyDimensions
If dimension is member expression, `d.dimension` would be object, and key would be '[object Object]' string, so separate dimensions would have same key, and all but one will be eliminated
1 parent ee826e1 commit d2210a2

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

packages/cubejs-schema-compiler/src/adapter/BaseQuery.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1855,7 +1855,14 @@ export class BaseQuery {
18551855
keyDimensions(primaryKeyDimensions) {
18561856
// The same dimension with different granularities maybe requested, so it's not enough to filter only by dimension
18571857
return R.uniqBy(
1858-
(d) => `${d.dimension}${d.granularity ?? ''}`, this.dimensionsForSelect()
1858+
(d) => {
1859+
if (d.isMemberExpression) {
1860+
return d.dimension.definition;
1861+
}
1862+
1863+
return `${d.dimension}${d.granularity ?? ''}`;
1864+
},
1865+
this.dimensionsForSelect()
18591866
.concat(primaryKeyDimensions)
18601867
);
18611868
}

0 commit comments

Comments
 (0)