@@ -88,10 +88,6 @@ abstract class BinaryArithmetic extends BinaryOperator {
8888 def decimalMethod : String =
8989 sys.error(" BinaryArithmetics must override either decimalMethod or genCode" )
9090
91- /** Name of the function for this expression on a [[Interval ]] type. */
92- def intervalMethod : String =
93- sys.error(" BinaryArithmetics must override either intervalMethod or genCode" )
94-
9591 override def genCode (ctx : CodeGenContext , ev : GeneratedExpressionCode ): String = dataType match {
9692 case dt : DecimalType =>
9793 defineCodeGen(ctx, ev, (eval1, eval2) => s " $eval1. $decimalMethod( $eval2) " )
@@ -100,7 +96,7 @@ abstract class BinaryArithmetic extends BinaryOperator {
10096 defineCodeGen(ctx, ev,
10197 (eval1, eval2) => s " ( ${ctx.javaType(dataType)})( $eval1 $symbol $eval2) " )
10298 case IntervalType =>
103- defineCodeGen(ctx, ev, (eval1, eval2) => s " $eval1. $intervalMethod ( $eval2) " )
99+ defineCodeGen(ctx, ev, (eval1, eval2) => s """ $eval1.doOp ( $eval2, " $symbol ") "" " )
104100 case _ =>
105101 defineCodeGen(ctx, ev, (eval1, eval2) => s " $eval1 $symbol $eval2" )
106102 }
@@ -113,7 +109,6 @@ private[sql] object BinaryArithmetic {
113109case class Add (left : Expression , right : Expression ) extends BinaryArithmetic {
114110 override def symbol : String = " +"
115111 override def decimalMethod : String = " $plus"
116- override def intervalMethod : String = " add"
117112
118113 override lazy val resolved =
119114 childrenResolved && checkInputDataTypes().isSuccess && ! DecimalType .isFixed(dataType)
@@ -135,7 +130,6 @@ case class Add(left: Expression, right: Expression) extends BinaryArithmetic {
135130case class Subtract (left : Expression , right : Expression ) extends BinaryArithmetic {
136131 override def symbol : String = " -"
137132 override def decimalMethod : String = " $minus"
138- override def intervalMethod : String = " subtract"
139133
140134 override lazy val resolved =
141135 childrenResolved && checkInputDataTypes().isSuccess && ! DecimalType .isFixed(dataType)
0 commit comments