[ 
https://issues.apache.org/jira/browse/FLINK-5654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15904793#comment-15904793
 ] 

ASF GitHub Bot commented on FLINK-5654:
---------------------------------------

Github user fhueske commented on the issue:

    https://github.com/apache/flink/pull/3459
  
    Hi @huawei-flink, 
    
    most Maven modules in Flink are implemented in either Java or Scala. We 
have a few modules (like flink-runtime) which are mixed but didn't make good 
experience with this design. Also, there is a clear separation in these modules 
which components are implemented in Java and Scala. I think implementing the 
flink-table module in a mix of Java and Scala is not a good idea because it 
makes the maintenance more difficult than sticking to a single language. 
    
    Regarding the squashing. I think the best approach is to create a new 
branch based on the current master and manually copying over those files that 
you would like to keep. Most of the code should be new files, so this should 
not be too much effort. By using the first OVER window as a blueprint I meant 
that you should try to follow a similar approach by using the same utils and a 
similar design. IMO, it makes sense if similar features share as much code as 
possible and follow the same design.
    
    Best, Fabian


> Add processing time OVER RANGE BETWEEN x PRECEDING aggregation to SQL
> ---------------------------------------------------------------------
>
>                 Key: FLINK-5654
>                 URL: https://issues.apache.org/jira/browse/FLINK-5654
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table API & SQL
>            Reporter: Fabian Hueske
>            Assignee: radu
>
> The goal of this issue is to add support for OVER RANGE aggregations on 
> processing time streams to the SQL interface.
> Queries similar to the following should be supported:
> {code}
> SELECT 
>   a, 
>   SUM(b) OVER (PARTITION BY c ORDER BY procTime() RANGE BETWEEN INTERVAL '1' 
> HOUR PRECEDING AND CURRENT ROW) AS sumB,
>   MIN(b) OVER (PARTITION BY c ORDER BY procTime() RANGE BETWEEN INTERVAL '1' 
> HOUR PRECEDING AND CURRENT ROW) AS minB
> FROM myStream
> {code}
> The following restrictions should initially apply:
> - All OVER clauses in the same SELECT clause must be exactly the same.
> - The PARTITION BY clause is optional (no partitioning results in single 
> threaded execution).
> - The ORDER BY clause may only have procTime() as parameter. procTime() is a 
> parameterless scalar function that just indicates processing time mode.
> - UNBOUNDED PRECEDING is not supported (see FLINK-5657)
> - FOLLOWING is not supported.
> The restrictions will be resolved in follow up issues. If we find that some 
> of the restrictions are trivial to address, we can add the functionality in 
> this issue as well.
> This issue includes:
> - Design of the DataStream operator to compute OVER ROW aggregates
> - Translation from Calcite's RelNode representation (LogicalProject with 
> RexOver expression).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to