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