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

Reply via email to