[
https://issues.apache.org/jira/browse/CALCITE-4000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17107732#comment-17107732
]
Rui Wang commented on CALCITE-4000:
-----------------------------------
Thanks Viliam! Those are great points.
> 1. The parameter names, unlike Java, are part of the contract in SQL. These
> functions are not yet a part of standard SQL, but we should think of good
> names.
Agreed. It will worth a discussion about naming as people might have different
tastes about it. Technically, before CALCITE-3788 is solved, we still have time
to figure it out because argument names will only appear in user queries after
named argument feature is enabled on table functions.
> 2. We must add a second parameter of type DESCRIPTOR. We need to specify
> based on which time column to calculate the windows.
Yes. It's logged at CALCITE-3964 (also I should have added more examples in
that Jira)
>3. The window size argument to the HOP function should come before the shift
>argument
Yes. Will update accordingly.
>4. The intervals are day-to-second intervals - the year-month-intervals don't
>have a fixed length in seconds.
Great point. Let me check the specs of interval type to the definition of
year-month interval (not familiar with how it is in SQL standard).
> Support OFFSET parameter in TUMBLE/HOP table functions
> -------------------------------------------------------
>
> Key: CALCITE-4000
> URL: https://issues.apache.org/jira/browse/CALCITE-4000
> Project: Calcite
> Issue Type: Sub-task
> Reporter: Rui Wang
> Assignee: Rui Wang
> Priority: Major
>
> TUMBLE/HOP have an optional "OFFSET" parameter to indicate how many time off
> from 0 for windowing. The OFFSET parameter is of interval type.
> {code:java}
> TUMBLE(table, size [, offset])
> HOP(table, shift, size, [, offset])
> {code}
> One example:
> Say here is a TUMBLE call with the following output
> TUMBLE(table, INTERNVAL '5' MINUTE)
> ||rowtime||window_start||window_end||
> |2020-06-20 12:23:40|2020-06-20 12:20:00|2020-06-20 12:25:00|
> |2020-06-20 12:21:40|2020-06-20 12:20:00|2020-06-20 12:25:00|
> if using the optional offset parameter
> TUMBLE(table, INTERNVAL '5' MINUTE, INTERNVAL '2' MINUTE)
> ||rowtime||window_start||window_end||
> |2020-06-20 12:23:40|2020-06-20 12:22:00|2020-06-20 12:27:00|
> |2020-06-20 12:21:40|2020-06-20 12:17:00|2020-06-20 12:22:00|
> OFFSET is applied per window basis, so the example above will also apply for
> HOP.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)