You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "sunjincheng (JIRA)" <ji...@apache.org> on 2019/01/30 15:41:00 UTC
[jira] [Commented] (FLINK-11449) Uncouple the Expression class from
RexNodes
[ https://issues.apache.org/jira/browse/FLINK-11449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16756240#comment-16756240 ]
sunjincheng commented on FLINK-11449:
-------------------------------------
Hi [~twalthr] as you mentioned in [FLIP-32|https://cwiki.apache.org/confluence/display/FLINK/FLIP-32%3A+Restructure+flink-table+for+future+contributions]., we have two approach to uncouple the `Expression` class from `RexNode`s as follows:
# Big visitor pattern ([prototype|https://github.com/sunjincheng121/flink/pull/77])
Create visitor for `toRexNode`, `toAggCall` and `getSqlAggFunction`.
# Introduce a new Expression in `flink-table-api-base`, i.e.: "Create Call(..) " ([prototype|https://github.com/sunjincheng121/flink/pull/81])
Create an APIExpression (May also named Expression) that is not dependent on Calcite in flink-table-api-base, and the current Expression will move to `flink-table-planner`.(Not sure, may be named `PlannerExpression`)
I am not sure if I understand [FLIP-32|https://cwiki.apache.org/confluence/display/FLINK/FLIP-32%3A+Restructure+flink-table+for+future+contributions]‘s design correctly, so I provided the prototype code.
Hope the feedback! :)
Best, Jincheng
> Uncouple the Expression class from RexNodes
> -------------------------------------------
>
> Key: FLINK-11449
> URL: https://issues.apache.org/jira/browse/FLINK-11449
> Project: Flink
> Issue Type: New Feature
> Components: Table API & SQL
> Reporter: Timo Walther
> Assignee: sunjincheng
> 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].
> Calcite will not be part of any API module anymore. Therefore, RexNode translation must happen in a different layer. This issue will require a new design document.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)