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

Hequn Cheng commented on FLINK-11068:
-------------------------------------

[~twalthr] Hi, I have almost finished this issue. I think it's good to sync 
with you first, then submit the PR once the Expression PR is finished. The main 
issues need to be confirmed with you are as follows:

1. Create only one Table interface in flink-table-api-java and rename the 
current Table to TableImpl. 

2. Considering {{OverWindowedTable window(OverWindow... overWindows)}} in 
Table, the {{WindowedTable window(Window window)}} may be confused to users. 
From the API, it looks like OverWindow is a subclass of Window, however, the 
Window is actually a GroupWindow, thus maybe we can change the api from
{code:java}
WindowedTable window(Window window);
{code}
to
{code:java}
GroupWindowedTable window(GroupWindow groupWindow);
{code}
and the two APIs are as follows(when we put them together) which I think is 
more clear:
{code:java}
GroupWindowedTable window(GroupWindow groupWindow);
OverWindowedTable window(OverWindow... overWindows);
{code}
3.TableConversions.scala and other conversion classes will stay in the current 
folder for now and be moved into the api module once TableEnvironment has been 
converted into an interface.

Would be great to have your suggestions. Thank you!

> 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