Skip to content

Commit f11d917

Browse files
committed
breaking the loop
1 parent 0575b72 commit f11d917

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2241,6 +2241,13 @@ export class BaseQuery {
22412241
}
22422242
}
22432243

2244+
// This is a special recursion guard that might happen sometimes, like
2245+
// during alias members collection which invokes sql evaluation of all members
2246+
// when FILTER_PARAMS is proxied for SQL evaluation.
2247+
if (parentMember === memberPath && this.safeEvaluateSymbolContext().aliasGathering) {
2248+
return '';
2249+
}
2250+
22442251
this.safeEvaluateSymbolContext().currentMember = memberPath;
22452252
try {
22462253
if (type === 'measure') {
@@ -3938,8 +3945,10 @@ export class BaseQuery {
39383945
const query = this;
39393946
return members.map(
39403947
member => {
3941-
const collectedMembers = query
3942-
.collectFrom([member], query.collectMemberNamesFor.bind(query), 'collectMemberNamesFor');
3948+
const collectedMembers = query.evaluateSymbolSqlWithContext(
3949+
() => query.collectFrom([member], query.collectMemberNamesFor.bind(query), 'collectMemberNamesFor'),
3950+
{ aliasGathering: true }
3951+
);
39433952
const memberPath = member.expressionPath();
39443953
let nonAliasSeen = false;
39453954
return collectedMembers

0 commit comments

Comments
 (0)