[
https://issues.apache.org/jira/browse/FLINK-11831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wenlong Lyu updated FLINK-11831:
--------------------------------
Component/s: (was: Table SQL / Planner)
Table SQL / Runtime
> 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 / Runtime
> Reporter: Kurt Young
> Priority: Major
> Labels: stale-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
(v8.3.4#803005)