From b453aa20c09c19ddd7bff2ce60f153a630f0b231 Mon Sep 17 00:00:00 2001 From: Max Gekk Date: Tue, 14 Apr 2020 20:12:34 +0300 Subject: [PATCH] Avoid floating-point division in millisToDays --- .../org/apache/spark/sql/catalyst/util/DateTimeUtils.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala index b095007a4e65d..7e0df59f9e7ce 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala @@ -134,7 +134,7 @@ object DateTimeUtils { // SPARK-6785: use Math.floor so negative number of days (dates before 1970) // will correctly work as input for function toJavaDate(Int) val millisLocal = millisUtc + timeZone.getOffset(millisUtc) - Math.floor(millisLocal.toDouble / MILLIS_PER_DAY).toInt + Math.floorDiv(millisLocal, MILLIS_PER_DAY).toInt } // reverse of millisToDays