Skip to content

Commit

Permalink
[WIP][add test] fix(schema-compiler): Use member expression definitio…
Browse files Browse the repository at this point in the history
…n 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
mcheshkov committed Jan 29, 2025
1 parent 92a4b8e commit 64a90c5
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion packages/cubejs-schema-compiler/src/adapter/BaseQuery.js
Original file line number Diff line number Diff line change
@@ -1574,7 +1574,17 @@ export class BaseQuery {
const cubeName = m.expressionCubeName ? `\`${m.expressionCubeName}\` ` : '';
throw new UserError(`The query contains \`COUNT(*)\` expression but cube/view ${cubeName}is missing \`count\` measure`);
}
return [typeof m.measure === 'string' ? m.measure : `${m.measure.cubeName}.${m.measure.name}`, collectedMeasures];

let measureKey;
if (typeof m.measure === 'string') {
measureKey = m.measure;
} else if (m.isMemberExpression) {
// TODO expressionName vs definition?
measureKey = m.expressionName;
} else {
measureKey = `${m.measure.cubeName}.${m.measure.name}`;
}
return [measureKey, collectedMeasures];
}));
}

0 comments on commit 64a90c5

Please sign in to comment.