From 0582bdad90f8b7e7c0b48548690941a15ab830c5 Mon Sep 17 00:00:00 2001 From: Angerszhuuuu Date: Thu, 8 Jul 2021 14:02:06 +0800 Subject: [PATCH] update --- .../sql/catalyst/parser/ExpressionParserSuite.scala | 3 ++- .../sql/catalyst/util/IntervalUtilsSuite.scala | 13 ++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala index 818afc428930b..aa1a45192e4ff 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ExpressionParserSuite.scala @@ -770,7 +770,8 @@ class ExpressionParserSuite extends AnalysisTest { "0:0:0", "0:0:1") hourTimeValues.foreach { value => - val result = Literal(IntervalUtils.fromDayTimeString(value, HOUR, SECOND)) + val result = Literal(IntervalUtils.fromDayTimeString( + value, DayTimeIntervalType.HOUR, DayTimeIntervalType.SECOND)) checkIntervals(s"'$value' hour to second", result) } } diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala index 93e3ead6382e0..62059c0b996f8 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/IntervalUtilsSuite.scala @@ -26,7 +26,6 @@ import org.apache.spark.sql.catalyst.util.DateTimeConstants._ import org.apache.spark.sql.catalyst.util.DateTimeUtils.millisToMicros import org.apache.spark.sql.catalyst.util.IntervalStringStyles.{ANSI_STYLE, HIVE_STYLE} import org.apache.spark.sql.catalyst.util.IntervalUtils._ -import org.apache.spark.sql.catalyst.util.IntervalUtils.IntervalUnit._ import org.apache.spark.sql.internal.SQLConf import org.apache.spark.sql.types.DayTimeIntervalType import org.apache.spark.unsafe.types.{CalendarInterval, UTF8String} @@ -203,8 +202,6 @@ class IntervalUtilsSuite extends SparkFunSuite with SQLHelper { failFuncWithInvalidInput("5 30:12:20", "hour 30 outside range", fromDayTimeString) failFuncWithInvalidInput("5 30-12", "must match day-time format", fromDayTimeString) - failFuncWithInvalidInput("5 1:12:20", "Cannot support (interval", - s => fromDayTimeString(s, HOUR, MICROSECOND)) } } @@ -314,13 +311,14 @@ class IntervalUtilsSuite extends SparkFunSuite with SQLHelper { } test("from day-time string") { - def check(input: String, from: IntervalUnit, to: IntervalUnit, expected: String): Unit = { + import org.apache.spark.sql.types.DayTimeIntervalType._ + def check(input: String, from: Byte, to: Byte, expected: String): Unit = { withClue(s"from = $from, to = $to") { val expectedUtf8 = UTF8String.fromString(expected) assert(fromDayTimeString(input, from, to) === safeStringToInterval(expectedUtf8)) } } - def checkFail(input: String, from: IntervalUnit, to: IntervalUnit, errMsg: String): Unit = { + def checkFail(input: String, from: Byte, to: Byte, errMsg: String): Unit = { failFuncWithInvalidInput(input, errMsg, s => fromDayTimeString(s, from, to)) } @@ -358,10 +356,7 @@ class IntervalUtilsSuite extends SparkFunSuite with SQLHelper { checkFail("5 30:12:20", DAY, SECOND, "hour 30 outside range") checkFail("5 30-12", DAY, SECOND, "Interval string does not match day-time format") - withClue("Expected to throw an exception for the invalid input") { - val e = intercept[NoSuchElementException](fromDayTimeString("5 1:12:20", HOUR, MICROSECOND)) - assert(e.getMessage.contains("key not found: microsecond")) - } + // whitespaces check("\t +5 12:40\t ", DAY, MINUTE, "5 days 12 hours 40 minutes") checkFail("+5\t 12:40", DAY, MINUTE, "Interval string does not match day-time format")