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