Skip to content

Commit 16bc87b

Browse files
committed
fix(schema-compiler): Make RefreshKeySql timezone-aware
1 parent 3798878 commit 16bc87b

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3714,7 +3714,7 @@ export class BaseQuery {
37143714

37153715
let utcOffset = 0;
37163716

3717-
if (refreshKey.timezone) {
3717+
if (refreshKey.timezone || this.timezone) {
37183718
utcOffset = moment.tz(refreshKey.timezone).utcOffset() * 60;
37193719
}
37203720

@@ -3733,7 +3733,9 @@ export class BaseQuery {
37333733
const every = refreshKey.every || '1 hour';
37343734

37353735
if (/^(\d+) (second|minute|hour|day|week)s?$/.test(every)) {
3736-
return [this.floorSql(`(${this.unixTimestampSql()}) / ${this.parseSecondDuration(every)}`), external, this];
3736+
const utcOffset = this.timezone ? moment.tz(this.timezone).utcOffset() * 60 : 0;
3737+
const utcOffsetPrefix = utcOffset ? `${utcOffset} + ` : '';
3738+
return [this.floorSql(`(${utcOffsetPrefix}${this.unixTimestampSql()}) / ${this.parseSecondDuration(every)}`), external, this];
37373739
}
37383740

37393741
const { dayOffset, utcOffset, interval } = this.calcIntervalForCronString(refreshKey);

0 commit comments

Comments
 (0)