Skip to content

Commit

Permalink
fix: Check partitionGranularity requires timeDimensionReference for `…
Browse files Browse the repository at this point in the history
…originalSql`
  • Loading branch information
paveltiunov committed Aug 19, 2020
1 parent d7e7a57 commit 2a2b256
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions packages/cubejs-schema-compiler/compiler/CubeValidator.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ const BaseMeasure = {
meta: Joi.any()
};

const BasePreAggregation = {
const BasePreAggregationWithoutPartitionGranularity = {
refreshKey: Joi.alternatives().try(
Joi.object().keys({
sql: Joi.func().required()
Expand All @@ -76,7 +76,6 @@ const BasePreAggregation = {
),
useOriginalSqlPreAggregations: Joi.boolean(),
external: Joi.boolean(),
partitionGranularity: Joi.any().valid('hour', 'day', 'week', 'month', 'year'),
scheduledRefresh: Joi.boolean(),
refreshRangeStart: {
sql: Joi.func().required()
Expand All @@ -94,6 +93,11 @@ const BasePreAggregation = {
)),
};

const BasePreAggregation = {
...BasePreAggregationWithoutPartitionGranularity,
partitionGranularity: Joi.any().valid('hour', 'day', 'week', 'month', 'year'),
};

const cubeSchema = Joi.object().keys({
name: identifier,
sql: Joi.func().required(),
Expand Down Expand Up @@ -190,7 +194,11 @@ const cubeSchema = Joi.object().keys({
})),
Joi.object().keys(Object.assign({}, BasePreAggregation, {
type: Joi.any().valid('originalSql').required(),
timeDimensionReference: Joi.func()
timeDimensionReference: Joi.func().required(),
partitionGranularity: BasePreAggregation.partitionGranularity.required(),
})),
Joi.object().keys(Object.assign({}, BasePreAggregationWithoutPartitionGranularity, {
type: Joi.any().valid('originalSql').required(),
})),
Joi.object().keys(Object.assign({}, BasePreAggregation, {
type: Joi.any().valid('rollup').required(),
Expand Down

0 comments on commit 2a2b256

Please sign in to comment.