Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion reverse_engineering/grammars/HiveParser.g4
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,12 @@ materializedViewClause

scheduleClause
: KW_SCHEDULE KW_REFRESH? KW_EVERY Number (KW_HOUR | KW_DAY | KW_WEEK)
| KW_SCHEDULE KW_REFRESH? KW_CRON identifier (KW_AT KW_TIME KW_ZONE identifier)?
| KW_SCHEDULE KW_REFRESH? KW_CRON StringLiteral (KW_AT KW_TIME KW_ZONE timeZoneValue)?
;

timeZoneValue
: identifier
| StringLiteral
;

rowClause
Expand Down
8 changes: 6 additions & 2 deletions reverse_engineering/hqlToCollectionsVisitor.js
Original file line number Diff line number Diff line change
Expand Up @@ -519,8 +519,8 @@ class Visitor extends HiveParserVisitor {
};
}

const scheduleCronString = this.visit(ctx.identifier()[0]);
const scheduleTimeZone = this.visit(ctx.identifier()[1]);
const scheduleCronString = removeSingleDoubleQuotes(ctx.StringLiteral().getText());
const scheduleTimeZone = this.visitWhenExists(ctx, 'timeZoneValue');

return {
scheduleType: ScheduleTypesEnum.CRON,
Expand All @@ -530,6 +530,10 @@ class Visitor extends HiveParserVisitor {
};
}

visitTimeZoneValue(ctx) {
return removeSingleDoubleQuotes(this.getText(ctx));
}

visitTriggerOnUpdateClause(ctx) {
const { intervalValue, intervalQualifier } = this.visit(ctx.intervalClause());

Expand Down
3 changes: 2 additions & 1 deletion reverse_engineering/parser/Hive/HiveParser.interp

Large diffs are not rendered by default.

Loading