[ https://issues.apache.org/jira/browse/FLINK-6361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15982038#comment-15982038 ]
ASF GitHub Bot commented on FLINK-6361: --------------------------------------- Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/3762#discussion_r113072758 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/runtime/aggregate/AggregateUtil.scala --- @@ -1232,12 +1266,20 @@ object AggregateUtil { } private def createAccumulatorType( - aggregates: Array[TableAggregateFunction[_]]): Seq[TypeInformation[_]] = { + aggregates: Array[TableAggregateFunction[_,_]]): Seq[TypeInformation[_]] = { val aggTypes: Seq[TypeInformation[_]] = aggregates.map { agg => - val accType = agg.getAccumulatorType + var accType: TypeInformation[_] = null --- End diff -- change to ``` val accType = try { val method: Method = agg.getClass.getMethod("getAccumulatorType") method.invoke(agg).asInstanceOf[TypeInformation[_]] } catch { case _: NoSuchMethodException => null case ite: Throwable => throw new TableException("Unexpected exception:", ite) } ``` > Finalize the AggregateFunction interface and refactoring built-in aggregates > ---------------------------------------------------------------------------- > > Key: FLINK-6361 > URL: https://issues.apache.org/jira/browse/FLINK-6361 > Project: Flink > Issue Type: Sub-task > Components: Table API & SQL > Reporter: Shaoxuan Wang > Assignee: Shaoxuan Wang > > We have completed codeGen for all aggregate runtime functions. Now we can > finalize the AggregateFunction. This includes 1) remove Accumulator trait; 2) > remove accumulate, retract, merge, resetAccumulator, getAccumulatorType > methods from interface, and allow them as contracted methods for UDAGG; 3) > refactoring the built-in aggregates accordingly. -- This message was sent by Atlassian JIRA (v6.3.15#6346)