gengliangwang commented on a change in pull request #25461: 
[SPARK-28741][SQL]Throw exceptions when casting to integers causes overflow
URL: https://github.com/apache/spark/pull/25461#discussion_r317005596
 
 

 ##########
 File path: sql/catalyst/src/main/scala/org/apache/spark/sql/types/Decimal.scala
 ##########
 @@ -232,12 +232,149 @@ final class Decimal extends Ordered[Decimal] with 
Serializable {
     }
   }
 
+  /**
+   * @return the Long value that is equal to the rounded decimal.
+   * @throws ArithmeticException if checkOverflow is true and
+   *                             the decimal too big to fit in Long type.
+   */
+  def toLong(checkOverflow: Boolean): Long = {
 
 Review comment:
   Actually, I am not super comfortable with the code changes in Decimal.scala 
here.
   I did this to address comments in 
https://github.com/apache/spark/pull/25461#discussion_r315177196 . 
   How about just adding a new method `roundToLong`. The name is same as
   
https://github.com/google/guava/blob/master/guava/src/com/google/common/math/DoubleMath.java#L156
 . So that we can leave toLong as it is.

----------------------------------------------------------------
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

Reply via email to