Github user suez1224 commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5619#discussion_r189167881
  
    --- Diff: 
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/util/ExplodeFunctionUtil.scala
 ---
    @@ -18,74 +18,244 @@
     
     package org.apache.flink.table.plan.util
     
    +import java.util
    +
     import org.apache.flink.api.common.typeinfo.{BasicArrayTypeInfo, 
BasicTypeInfo, PrimitiveArrayTypeInfo, TypeInformation}
    -import org.apache.flink.api.java.typeutils.ObjectArrayTypeInfo
    +import org.apache.flink.api.java.typeutils.{MultisetTypeInfo, 
ObjectArrayTypeInfo}
     import org.apache.flink.table.functions.TableFunction
     
     class ObjectExplodeTableFunc extends TableFunction[Object] {
       def eval(arr: Array[Object]): Unit = {
    -    arr.foreach(collect)
    +    if (null != arr) {
    +      var i = 0
    --- End diff --
    
    Make sense. The JVM might not be smart enough to inline foreach().


---

Reply via email to