Github user twalthr commented on a diff in the pull request:
https://github.com/apache/flink/pull/5040#discussion_r152588446
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/codegen/calls/ScalarOperators.scala
---
@@ -835,6 +836,43 @@ object ScalarOperators {
generateUnaryArithmeticOperator(operator, nullCheck,
operand.resultType, operand)
}
+ def generateRow(
+ codeGenerator: CodeGenerator,
+ resultType: TypeInformation[_],
+ elements: Seq[GeneratedExpression])
+ : GeneratedExpression = {
+ val rowTerm = codeGenerator.addReusableRow(resultType.getArity,
elements.size)
+
+ val boxedElements: Seq[GeneratedExpression] = resultType match {
+ case ct: CompositeType[_] =>
+ elements.zipWithIndex.map{
+ case (e, idx) =>
+ val boxedTypeTerm = boxedTypeTermForTypeInfo(ct.getTypeAt(idx))
--- End diff --
Can we put this into a private helper method? I think it is the same code
for `generateArray`, `generateMap`, and `generateRow`.
---