cloud-fan commented on a change in pull request #26995: [SPARK-30341][SQL] Overflow check for interval arithmetic operations URL: https://github.com/apache/spark/pull/26995#discussion_r362401636
########## File path: sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/intervalExpressions.scala ########## @@ -125,34 +125,22 @@ abstract class IntervalNumOperation( override def nullable: Boolean = true override def nullSafeEval(interval: Any, num: Any): Any = { - try { - operation(interval.asInstanceOf[CalendarInterval], num.asInstanceOf[Double]) - } catch { - case _: java.lang.ArithmeticException => null - } + operation(interval.asInstanceOf[CalendarInterval], num.asInstanceOf[Double]) } override def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode = { - nullSafeCodeGen(ctx, ev, (interval, num) => { - val iu = IntervalUtils.getClass.getName.stripSuffix("$") - s""" - try { - ${ev.value} = $iu.$operationName($interval, $num); - } catch (java.lang.ArithmeticException e) { - ${ev.isNull} = true; - } - """ - }) + val iu = IntervalUtils.getClass.getName.stripSuffix("$") + defineCodeGen(ctx, ev, (interval, num) => s"$iu.$operationName($interval, $num)") } - override def prettyName: String = operationName + "_interval" + override def prettyName: String = operationName.stripSuffix("Exact") + "_interval" Review comment: `.stripSuffix("Exact")` is not needed anymore. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org