Github user ueshin commented on a diff in the pull request:
https://github.com/apache/spark/pull/16308#discussion_r97219588
--- Diff:
sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala
---
@@ -177,180 +177,186 @@ class DateTimeUtilsSuite extends SparkFunSuite {
}
test("string to timestamp") {
- var c = Calendar.getInstance()
- c.set(1969, 11, 31, 16, 0, 0)
- c.set(Calendar.MILLISECOND, 0)
- assert(stringToTimestamp(UTF8String.fromString("1969-12-31
16:00:00")).get ===
- c.getTimeInMillis * 1000)
- c.set(1, 0, 1, 0, 0, 0)
- c.set(Calendar.MILLISECOND, 0)
- assert(stringToTimestamp(UTF8String.fromString("0001")).get ===
- c.getTimeInMillis * 1000)
- c = Calendar.getInstance()
- c.set(2015, 2, 1, 0, 0, 0)
- c.set(Calendar.MILLISECOND, 0)
- assert(stringToTimestamp(UTF8String.fromString("2015-03")).get ===
- c.getTimeInMillis * 1000)
- c = Calendar.getInstance()
- c.set(2015, 2, 18, 0, 0, 0)
- c.set(Calendar.MILLISECOND, 0)
- assert(stringToTimestamp(UTF8String.fromString("2015-03-18")).get ===
- c.getTimeInMillis * 1000)
- assert(stringToTimestamp(UTF8String.fromString("2015-03-18 ")).get ===
- c.getTimeInMillis * 1000)
- assert(stringToTimestamp(UTF8String.fromString("2015-03-18T")).get ===
- c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance()
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 0)
- assert(stringToTimestamp(UTF8String.fromString("2015-03-18
12:03:17")).get ===
- c.getTimeInMillis * 1000)
-
assert(stringToTimestamp(UTF8String.fromString("2015-03-18T12:03:17")).get ===
- c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("GMT-13:53"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 0)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17-13:53")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("UTC"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 0)
-
assert(stringToTimestamp(UTF8String.fromString("2015-03-18T12:03:17Z")).get ===
- c.getTimeInMillis * 1000)
- assert(stringToTimestamp(UTF8String.fromString("2015-03-18
12:03:17Z")).get ===
- c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("GMT-01:00"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 0)
-
assert(stringToTimestamp(UTF8String.fromString("2015-03-18T12:03:17-1:0")).get
===
- c.getTimeInMillis * 1000)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17-01:00")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("GMT+07:30"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 0)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17+07:30")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("GMT+07:03"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 0)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17+07:03")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance()
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 123)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18 12:03:17.123")).get ===
c.getTimeInMillis * 1000)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17.123")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("UTC"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 456)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17.456Z")).get ===
c.getTimeInMillis * 1000)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18 12:03:17.456Z")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("GMT-01:00"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 123)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17.123-1:0")).get ===
c.getTimeInMillis * 1000)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17.123-01:00")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("GMT+07:30"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 123)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17.123+07:30")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("GMT+07:30"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 123)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17.123+07:30")).get ===
c.getTimeInMillis * 1000)
-
- c = Calendar.getInstance(TimeZone.getTimeZone("GMT+07:30"))
- c.set(2015, 2, 18, 12, 3, 17)
- c.set(Calendar.MILLISECOND, 123)
- assert(stringToTimestamp(
- UTF8String.fromString("2015-03-18T12:03:17.123121+7:30")).get ===
+ for (tz <- DateTimeTestUtils.ALL_TIMEZONES) {
--- End diff --
I'll add some comments.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]