[ https://issues.apache.org/jira/browse/FLINK-7206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16134786#comment-16134786 ]
ASF GitHub Bot commented on FLINK-7206: --------------------------------------- Github user wuchong commented on a diff in the pull request: https://github.com/apache/flink/pull/4355#discussion_r134138469 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/codegen/CodeGenerator.scala --- @@ -1646,4 +1649,86 @@ abstract class CodeGenerator( fieldTerm } + + /** + * Adds a reusable class to the member area of the generated [[Function]]. + */ + def addReusableClass(clazz: Class[_], fieldTerm: String): Unit = { + val field = + s""" + |transient ${clazz.getCanonicalName} $fieldTerm = null; + |""".stripMargin + reusableMemberStatements.add(field) + } + + /** + * Adds a reusable [[DataViewConfig]] to the member area of the generated [[Function]]. + * + * @param indices indices of aggregate functions. + * @param ctxTerm field name of runtime context. + * @param accConfig data view config which contains id, field and StateDescriptos. + * @return statements to create [[MapView]] or [[ListView]]. + */ + def addReusableDataViewConfig( --- End diff -- The `addReusableDataViewConfig` should be in `AggregateCodeGenerator`. And I would like to change this method to `addReusableDataView(spec: DataViewSpec): String`, the returned String is the dataview member variable term. And the dataview creation code can be added into `reusableDataViewStatements`. And the code of `reusableDataViewStatements` can be added to `initialize(ctx)` (or `open(ctx)` as I suggested) at last. > Implementation of DataView to support state access for UDAGG > ------------------------------------------------------------ > > Key: FLINK-7206 > URL: https://issues.apache.org/jira/browse/FLINK-7206 > Project: Flink > Issue Type: Sub-task > Components: Table API & SQL > Reporter: Kaibo Zhou > Assignee: Kaibo Zhou > > Implementation of MapView and ListView to support state access for UDAGG. -- This message was sent by Atlassian JIRA (v6.4.14#64029)