Skip to content

Commit f8acda6

Browse files
committed
Use local variables for resultIsNulls and argValues.
1 parent 0b210f8 commit f8acda6

File tree

1 file changed

+6
-9
lines changed
  • sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects

1 file changed

+6
-9
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,16 @@ trait InvokeLike extends Expression with NonSQLExpression {
5959
def prepareArguments(ctx: CodegenContext): (String, String, String) = {
6060

6161
val resultIsNull = if (needNullCheck) {
62-
val resultIsNull = ctx.freshName("resultIsNull")
63-
ctx.addMutableState("boolean", resultIsNull, "")
64-
resultIsNull
62+
ctx.freshName("resultIsNull")
6563
} else {
6664
"false"
6765
}
6866
val argValues = arguments.map { e =>
69-
val argValue = ctx.freshName("argValue")
70-
ctx.addMutableState(ctx.javaType(e.dataType), argValue, "")
71-
argValue
67+
ctx.freshName("argValue")
7268
}
7369

7470
val argCodes = if (needNullCheck) {
75-
val reset = s"$resultIsNull = false;"
71+
val reset = s"boolean $resultIsNull = false;"
7672
val argCodes = arguments.zipWithIndex.map { case (e, i) =>
7773
val expr = e.genCode(ctx)
7874
val updateResultIsNull = if (e.nullable) {
@@ -81,6 +77,7 @@ trait InvokeLike extends Expression with NonSQLExpression {
8177
""
8278
}
8379
s"""
80+
${ctx.javaType(e.dataType)} ${argValues(i)} = ${ctx.defaultValue(e.dataType)};
8481
if (!$resultIsNull) {
8582
${expr.code}
8683
$updateResultIsNull
@@ -94,11 +91,11 @@ trait InvokeLike extends Expression with NonSQLExpression {
9491
val expr = e.genCode(ctx)
9592
s"""
9693
${expr.code}
97-
${argValues(i)} = ${expr.value};
94+
${ctx.javaType(e.dataType)} ${argValues(i)} = ${expr.value};
9895
"""
9996
}
10097
}
101-
val argCode = ctx.splitExpressions(ctx.INPUT_ROW, argCodes)
98+
val argCode = argCodes.mkString("\n")
10299

103100
(argCode, argValues.mkString(", "), resultIsNull)
104101
}

0 commit comments

Comments
 (0)