Skip to content

Commit 64a90c5

Browse files
committed
[WIP][add test] fix(schema-compiler): Use member expression definition as measure key
Without this when measure was a member expression m.measure.name can be undefined, and different measures will have same key in collectRootMeasureToHieararchy
1 parent 92a4b8e commit 64a90c5

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1574,7 +1574,17 @@ export class BaseQuery {
15741574
const cubeName = m.expressionCubeName ? `\`${m.expressionCubeName}\` ` : '';
15751575
throw new UserError(`The query contains \`COUNT(*)\` expression but cube/view ${cubeName}is missing \`count\` measure`);
15761576
}
1577-
return [typeof m.measure === 'string' ? m.measure : `${m.measure.cubeName}.${m.measure.name}`, collectedMeasures];
1577+
1578+
let measureKey;
1579+
if (typeof m.measure === 'string') {
1580+
measureKey = m.measure;
1581+
} else if (m.isMemberExpression) {
1582+
// TODO expressionName vs definition?
1583+
measureKey = m.expressionName;
1584+
} else {
1585+
measureKey = `${m.measure.cubeName}.${m.measure.name}`;
1586+
}
1587+
return [measureKey, collectedMeasures];
15781588
}));
15791589
}
15801590

0 commit comments

Comments
 (0)