Skip to content

Commit 00a239f

Browse files
committed
fix: Do not instantiate SqlParser if rewriteQueries is false to save cache memory
1 parent 5eff1f6 commit 00a239f

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

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

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -892,17 +892,20 @@ export class BaseQuery {
892892
rewriteInlineCubeSql(cube, isLeftJoinCondition) {
893893
const sql = this.cubeSql(cube);
894894
const cubeAlias = this.cubeAlias(cube);
895-
// TODO params independent sql caching
896-
const parser = this.queryCache.cache(['SqlParser', sql], () => new SqlParser(sql));
897895
if (
898-
this.cubeEvaluator.cubeFromPath(cube).rewriteQueries &&
899-
parser.isSimpleAsteriskQuery()
896+
this.cubeEvaluator.cubeFromPath(cube).rewriteQueries
900897
) {
901-
const conditions = parser.extractWhereConditions(cubeAlias);
902-
if (!isLeftJoinCondition && this.safeEvaluateSymbolContext().inlineWhereConditions) {
903-
this.safeEvaluateSymbolContext().inlineWhereConditions.push({ filterToWhere: () => conditions });
898+
// TODO params independent sql caching
899+
const parser = this.queryCache.cache(['SqlParser', sql], () => new SqlParser(sql));
900+
if (parser.isSimpleAsteriskQuery()) {
901+
const conditions = parser.extractWhereConditions(cubeAlias);
902+
if (!isLeftJoinCondition && this.safeEvaluateSymbolContext().inlineWhereConditions) {
903+
this.safeEvaluateSymbolContext().inlineWhereConditions.push({ filterToWhere: () => conditions });
904+
}
905+
return [parser.extractTableFrom(), cubeAlias, conditions];
906+
} else {
907+
return [sql, cubeAlias];
904908
}
905-
return [parser.extractTableFrom(), cubeAlias, conditions];
906909
} else {
907910
return [sql, cubeAlias];
908911
}

0 commit comments

Comments
 (0)