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

ASF GitHub Bot commented on FLINK-3498:
---------------------------------------

Github user twalthr commented on the pull request:

    https://github.com/apache/flink/pull/1747#issuecomment-190825143
  
    "quite a bit of code at various places": Yes, you are right. I already 
tried to simplify it as much as I can. The problem is that we have 3 APIs that 
all have slightly different requirements. I chose `TRIM` because it is an 
extreme example. Other functions (80%) are easier, because they don't need 
their own code generator and ExpressionParser.
    
    My current implementation has a proper separation of the different layers:
    Expression API -> RexNodeTranslator -> CodeGen
    
    3 layers + 3 APIs = up to 6 files to change for every function.
    
    I don't know if it makes sense to mix the layers.


> Implement TRIM, SUBSTRING as reference design for Table API
> -----------------------------------------------------------
>
>                 Key: FLINK-3498
>                 URL: https://issues.apache.org/jira/browse/FLINK-3498
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table API
>            Reporter: Timo Walther
>            Assignee: Timo Walther
>
> As described in FLINK-3497 TRIM and SUBSTRING are the first scalar functions 
> implemented in Calcite and used in Table API.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to