Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/5988#discussion_r187710610 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/codegen/calls/CallGenerator.scala --- @@ -64,17 +65,28 @@ object CallGenerator { val (auxiliaryStmt, result) = call(operands.map(_.resultTerm)) + val nullTermCode = if ( + nullCheck && + isReference(returnType) && + !TypeCheckUtils.isTemporal(returnType)) { + s""" + |if ($resultTerm == null) { + | $nullTerm = true; + |} + """.stripMargin + } else { + "" + } + val resultCode = if (nullCheck && operands.nonEmpty) { s""" |${operands.map(_.code).mkString("\n")} |boolean $nullTerm = ${operands.map(_.nullTerm).mkString(" || ")}; - |$resultTypeTerm $resultTerm; - |if ($nullTerm) { - | $resultTerm = $defaultValue; --- End diff -- Oh sorry. Overlooked that one. Thanks!
---