Skip to content

Commit 335c2ed

Browse files
committed
fix
1 parent da3271b commit 335c2ed

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

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

+12-10
Original file line numberDiff line numberDiff line change
@@ -477,16 +477,18 @@ export class BaseQuery {
477477
}
478478

479479
newDimension(dimensionPath) {
480-
const memberArr = dimensionPath.split('.');
481-
if (memberArr.length > 3 &&
482-
memberArr[memberArr.length - 2] === 'granularities' &&
483-
this.cubeEvaluator.isDimension(memberArr.slice(0, -2))) {
484-
return this.newTimeDimension(
485-
{
486-
dimension: this.cubeEvaluator.pathFromArray(memberArr.slice(0, -2)),
487-
granularity: memberArr[memberArr.length - 1]
488-
}
489-
);
480+
if (dimensionPath instanceof String || typeof dimensionPath === 'string') {
481+
const memberArr = Array.isArray(dimensionPath) ? dimensionPath : dimensionPath.split('.');
482+
if (memberArr.length > 3 &&
483+
memberArr[memberArr.length - 2] === 'granularities' &&
484+
this.cubeEvaluator.isDimension(memberArr.slice(0, -2))) {
485+
return this.newTimeDimension(
486+
{
487+
dimension: this.cubeEvaluator.pathFromArray(memberArr.slice(0, -2)),
488+
granularity: memberArr[memberArr.length - 1]
489+
}
490+
);
491+
}
490492
}
491493
return new BaseDimension(this, dimensionPath);
492494
}

packages/cubejs-schema-compiler/test/integration/postgres/pre-aggregations.test.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -955,7 +955,7 @@ describe('PreAggregations', () => {
955955
});
956956
});
957957

958-
it('non-additive view dimension', () => compiler.compile().then(() => {
958+
it('non-additive view dimension', async () => {
959959
await compiler.compile();
960960
const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, {
961961
measures: [
@@ -1009,8 +1009,8 @@ describe('PreAggregations', () => {
10091009

10101010
);
10111011
});
1012-
}));
1013-
it('non-additive proxy but not direct alias dimension', () => compiler.compile().then(() => {
1012+
});
1013+
it('non-additive proxy but not direct alias dimension', async () => {
10141014
await compiler.compile();
10151015
const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, {
10161016
measures: [
@@ -1036,9 +1036,9 @@ describe('PreAggregations', () => {
10361036
const preAggregationsDescription = query.preAggregations?.preAggregationsDescription();
10371037
console.log(preAggregationsDescription);
10381038
expect((<any>preAggregationsDescription)[0].type).toEqual('originalSql');
1039-
}));
1039+
});
10401040

1041-
it('non-additive single value view filtered measure', () => compiler.compile().then(() => {
1041+
it('non-additive single value view filtered measure', async () => {
10421042
await compiler.compile();
10431043
const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, {
10441044
measures: [

0 commit comments

Comments
 (0)