MaxGekk commented on a change in pull request #32999:
URL: https://github.com/apache/spark/pull/32999#discussion_r655309896



##########
File path: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala
##########
@@ -2610,8 +2610,11 @@ case class SubtractDates(
 
   override def inputTypes: Seq[AbstractDataType] = Seq(DateType, DateType)
   override def dataType: DataType = {
-    // TODO(SPARK-35727): Return INTERVAL DAY from dates subtraction
-    if (legacyInterval) CalendarIntervalType else DayTimeIntervalType()
+    if (legacyInterval) {
+      CalendarIntervalType
+    } else {
+      DayTimeIntervalType(DayTimeIntervalType.DAY, DayTimeIntervalType.DAY)

Review comment:
       I have added `apply()` with single arg recently 
https://github.com/apache/spark/pull/32997, you can use it here as:
   ```scala
   DayTimeIntervalType(DAY)
   ```

##########
File path: 
sql/core/src/test/scala/org/apache/spark/sql/ColumnExpressionSuite.scala
##########
@@ -2790,7 +2790,9 @@ class ColumnExpressionSuite extends QueryTest with 
SharedSparkSession {
           ).foreach { case (end, start) =>
             val df = Seq((end, start)).toDF("end", "start")
             val daysBetween = Duration.ofDays(ChronoUnit.DAYS.between(start, 
end))
-            checkAnswer(df.select($"end" - $"start"), Row(daysBetween))
+            val r = df.select($"end" - $"start").toDF("diff")
+            checkAnswer(r, Row(daysBetween))
+            assert(r.schema === new StructType().add("diff", 
DayTimeIntervalType(0, 0)))

Review comment:
       Please, replace `DayTimeIntervalType(0, 0)` by `DayTimeIntervalType(DAY)`

##########
File path: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala
##########
@@ -2701,8 +2702,11 @@ case class SubtractDates(
 
   override def inputTypes: Seq[AbstractDataType] = Seq(DateType, DateType)
   override def dataType: DataType = {
-    // TODO(SPARK-35727): Return INTERVAL DAY from dates subtraction
-    if (legacyInterval) CalendarIntervalType else DayTimeIntervalType()
+    if (legacyInterval) {
+      CalendarIntervalType
+    } else {
+      DayTimeIntervalType(DAY)
+    }

Review comment:
       nit: minimal changes would be:
   ```
       if (legacyInterval) CalendarIntervalType else DayTimeIntervalType(DAY)
   ```

##########
File path: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/datetimeExpressions.scala
##########
@@ -2701,8 +2702,11 @@ case class SubtractDates(
 
   override def inputTypes: Seq[AbstractDataType] = Seq(DateType, DateType)
   override def dataType: DataType = {
-    // TODO(SPARK-35727): Return INTERVAL DAY from dates subtraction
-    if (legacyInterval) CalendarIntervalType else DayTimeIntervalType()
+    if (legacyInterval) {
+      CalendarIntervalType
+    } else {
+      DayTimeIntervalType(DAY)
+    }

Review comment:
       nit: minimal changes would be:
   ```scala
       if (legacyInterval) CalendarIntervalType else DayTimeIntervalType(DAY)
   ```




-- 
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:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to