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

Timo Walther commented on FLINK-11068:
--------------------------------------

Hi [~hequn8128], sorry for not answering earlier. FLINK-11449 is close to 
completion. If there are no bigger objections, it will be merged by the end of 
the day.

I reordered some methods and fixed some Table JavaDocs in Table, sorry for the 
merge conflicts in advance!

I totally agree that {{OverWindow}} and {{Window}} are confusing in the API. I 
also noticed that while working on FLINK-11449. {{Window}} was called 
{{GroupWindow}} in the early days and was renamed for the over windows which 
were renamed again later.

I would be in favor of fixing this issue now but in a backwards compatible way. 
Feel free to open a separate PR for just the ported windows before you open a 
PR for the {{Table}} classes.

I would propose the following simplified class structure:
{code}
org.apache.flink.table.api.Tumble
org.apache.flink.table.api.Slide
org.apache.flink.table.api.Session

org.apache.flink.table.api.GroupWindow

@Deprecated
org.apache.flink.table.api.java.Tumble extends api.Tumble
@Deprecated
org.apache.flink.table.api.scala.Tumble extends api.Tumble
...

@Deprecated
org.apache.flink.table.api.Window extends GroupWindow
{code}

What do you think?

Adding the table interface to the planner module is totally fine for now. We 
will move the class cluster to {{api-java}} later.

> Convert the API classes *Table, *Window to interfaces
> -----------------------------------------------------
>
>                 Key: FLINK-11068
>                 URL: https://issues.apache.org/jira/browse/FLINK-11068
>             Project: Flink
>          Issue Type: Improvement
>          Components: API / Table SQL
>            Reporter: Timo Walther
>            Assignee: Hequn Cheng
>            Priority: Major
>
> A more detailed description can be found in 
> [FLIP-32|https://cwiki.apache.org/confluence/display/FLINK/FLIP-32%3A+Restructure+flink-table+for+future+contributions].
> This includes: Table, GroupedTable, WindowedTable, WindowGroupedTable, 
> OverWindowedTable, Window, OverWindow
> We can keep the "Table" Scala implementation in a planner module until it has 
> been converted to Java.
> We can add a method to the planner later to give us a concrete instance. This 
> is one possibility to have a smooth transition period instead of changing all 
> classes at once.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to