You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Liya Fan (JIRA)" <ji...@apache.org> on 2019/04/10 02:32:00 UTC

[jira] [Commented] (FLINK-11831) Separate CodeGeneratorContext for different generation targets

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

Liya Fan commented on FLINK-11831:
----------------------------------

Hi [~ykt836], thank you for opening this issue. I think this is a really important issue. By resolving it, the code-gen related logic will be much clearer.

If there is anything I can do, please let me know :)

 

> Separate CodeGeneratorContext for different generation targets
> --------------------------------------------------------------
>
>                 Key: FLINK-11831
>                 URL: https://issues.apache.org/jira/browse/FLINK-11831
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / Planner
>            Reporter: Kurt Young
>            Priority: Major
>
> Currently, we have one big `CodeGeneratorContext` during code generation, it contains all possible reused statements even for different code generation targets. For example, when we want to codeden a `Function`, we may use the `reusableOpenStatements` and `reusableCloseStatements`. And when we codegen an operator, we will use something like `reusableEndInputStatements`. It is error prone and hard to know what should be placed into codegened classes and what shouldn't. 
>  
> I think we should have dedicated context for each codegen class. Like `FunctionCodegenContext` and `OperatorCodegenContext`, they can share a base class to reuse some common requirements, like reused class members. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)