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

Fabian Hueske commented on FLINK-5695:
--------------------------------------

I agree that the semantics of {{GroupedTable}} and {{GroupWindowedTable}} are 
essentially the same. 

On the other hand, with a fluent coding style a user would not even be aware of 
both classes.
A user who uses the Table API as follows (which is, IMO, recommended):

{code}
val table: Table = ???
val aggT: Table = table.groupBy('a).select('a, 'b.sum)
{code}

would not see {{GroupedTable}} because it is hidden between {{groupBy}} and 
{{select}}.
Of course, this depends on the coding style. 

By merging both classes, the code of {{select()}} becomes harder to read 
because two translation paths are squeezed into one method.
IMO more importantly, we cannot provide window-specific method documentation 
anymore.

> Optimize table type systems based on database semantics
> -------------------------------------------------------
>
>                 Key: FLINK-5695
>                 URL: https://issues.apache.org/jira/browse/FLINK-5695
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table API & SQL
>            Reporter: sunjincheng
>            Assignee: sunjincheng
>
> Optimize table type systems based on database semantics.As follows:
> {code}
>              groupBy
>          -------------------->
> Table                             GroupedTable
>   ∧   <--------------------           ∧
>    |         select&agg                |
>    |                                           |
>    | where                                |
>    | select                                | groupBy
>    | agg                                   |
>    | ...                                      |
>    |             window                 |
>   ∨     --------------------->     
>  Table                            WindowedTable
>           <---------------------
>               select&over
> {code}
> What do you think? [~fhueske] 



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

Reply via email to