diff options
author | Liang-Chi Hsieh <viirya@appier.com> | 2015-07-15 10:46:22 -0700 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2015-07-15 10:46:22 -0700 |
commit | 9716a727fb2d11380794549039e12e53c771e120 (patch) | |
tree | 28bfbc6756a0d2d3cf3eed51f119825a0b74e823 | |
parent | a9385271a9f6b97ec6aa619cf56ee556ba2fb0de (diff) | |
download | spark-9716a727fb2d11380794549039e12e53c771e120.tar.gz spark-9716a727fb2d11380794549039e12e53c771e120.tar.bz2 spark-9716a727fb2d11380794549039e12e53c771e120.zip |
[Minor][SQL] Allow spaces in the beginning and ending of string for Interval
This is a minor fixing for #7355 to allow spaces in the beginning and ending of string parsed to `Interval`.
Author: Liang-Chi Hsieh <viirya@appier.com>
Closes #7390 from viirya/fix_interval_string and squashes the following commits:
9eb6831 [Liang-Chi Hsieh] Use trim instead of modifying regex.
57861f7 [Liang-Chi Hsieh] Fix scala style.
815a9cb [Liang-Chi Hsieh] Slightly modify regex to allow spaces in the beginning and ending of string.
-rw-r--r-- | unsafe/src/main/java/org/apache/spark/unsafe/types/Interval.java | 1 | ||||
-rw-r--r-- | unsafe/src/test/java/org/apache/spark/unsafe/types/IntervalSuite.java | 6 |
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); |