Kurt Young created FLINK-11831:
----------------------------------

             Summary: Separate CodeGeneratorContext for different generation 
targets
                 Key: FLINK-11831
                 URL: https://issues.apache.org/jira/browse/FLINK-11831
             Project: Flink
          Issue Type: Improvement
          Components: SQL / Planner
            Reporter: Kurt Young


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)

Reply via email to