[ 
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)

Reply via email to