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

sunjincheng commented on FLINK-11449:
-------------------------------------

Thank you for your reply, I feel that the proposal is very meaningful to me。
Here have several places to confirm:
1. Why should FunctionDefinitions be placed in flink-table-api-java, can it be 
put into flink-table-api-common?
2. All the Expression class should using in java, and expressionDsl also keep 
using in scala,right?
3. The visitor which in flink-table-planner also defined in scala,right?
4. Why we should defined CAST as a function call? In my opinion, only the 
funciton defined in the FunctionCatalog is defined as a funcitoncall. And 
others can be defined as other Expression types? Similar to the following 
definition in my prototype:
{code:java}
case class Call(functionName: String, args: Seq[Expression]) extends Expression 
{
override def children: Seq[Expression] = args
}
case class Cast(child: Expression, resultType: TypeInformation[_]) extends 
UnaryExpression{code}
I suggest that is it possible to divide unified built-in functions and UDFs 
into multiple commits? In this JIRA we first remove the existing Expresion to 
eliminate the dependency on RexNodes, is that makes sense to you?

> 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