aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--unsafe/src/main/java/org/apache/spark/unsafe/types/Interval.java1
-rw-r--r--unsafe/src/test/java/org/apache/spark/unsafe/types/IntervalSuite.java6
2 files changed, 7 insertions, 0 deletions
diff --git a/unsafe/src/main/java/org/apache/spark/unsafe/types/Interval.java b/unsafe/src/main/java/org/apache/spark/unsafe/types/Interval.java
index eb7475e9df..905ea0b7b8 100644
--- a/unsafe/src/main/java/org/apache/spark/unsafe/types/Interval.java
+++ b/unsafe/src/main/java/org/apache/spark/unsafe/types/Interval.java
@@ -62,6 +62,7 @@ public final class Interval implements Serializable {
if (s == null) {
return null;
}
+ s = s.trim();
Matcher m = p.matcher(s);
if (!m.matches() || s.equals("interval")) {
return null;
diff --git a/unsafe/src/test/java/org/apache/spark/unsafe/types/IntervalSuite.java b/unsafe/src/test/java/org/apache/spark/unsafe/types/IntervalSuite.java
index 44a949a371..1832d0bc65 100644
--- a/unsafe/src/test/java/org/apache/spark/unsafe/types/IntervalSuite.java
+++ b/unsafe/src/test/java/org/apache/spark/unsafe/types/IntervalSuite.java
@@ -75,6 +75,12 @@ public class IntervalSuite {
Interval result = new Interval(-5 * 12 + 23, 0);
assertEquals(Interval.fromString(input), result);
+ input = "interval -5 years 23 month ";
+ assertEquals(Interval.fromString(input), result);
+
+ input = " interval -5 years 23 month ";
+ assertEquals(Interval.fromString(input), result);
+
// Error cases
input = "interval 3month 1 hour";
assertEquals(Interval.fromString(input), null);