|
18 | 18 | package org.apache.spark.sql.jdbc
|
19 | 19 |
|
20 | 20 | import java.math.BigDecimal
|
| 21 | +import java.sql.DriverManager |
| 22 | +import java.util.{Calendar, GregorianCalendar} |
| 23 | + |
21 | 24 | import org.apache.spark.sql.test._
|
22 | 25 | import org.scalatest.{FunSuite, BeforeAndAfter}
|
23 |
| -import java.sql.DriverManager |
24 | 26 | import TestSQLContext._
|
25 | 27 |
|
26 | 28 | class JDBCSuite extends FunSuite with BeforeAndAfter {
|
@@ -206,20 +208,25 @@ class JDBCSuite extends FunSuite with BeforeAndAfter {
|
206 | 208 | assert(rows(0).getString(5).equals("I am a clob!"))
|
207 | 209 | }
|
208 | 210 |
|
| 211 | + |
209 | 212 | test("H2 time types") {
|
210 | 213 | val rows = sql("SELECT * FROM timetypes").collect()
|
211 |
| - assert(rows(0).getAs[java.sql.Timestamp](0).getHours == 12) |
212 |
| - assert(rows(0).getAs[java.sql.Timestamp](0).getMinutes == 34) |
213 |
| - assert(rows(0).getAs[java.sql.Timestamp](0).getSeconds == 56) |
214 |
| - assert(rows(0).getAs[java.sql.Date](1).getYear == 96) |
215 |
| - assert(rows(0).getAs[java.sql.Date](1).getMonth == 0) |
216 |
| - assert(rows(0).getAs[java.sql.Date](1).getDate == 1) |
217 |
| - assert(rows(0).getAs[java.sql.Timestamp](2).getYear == 102) |
218 |
| - assert(rows(0).getAs[java.sql.Timestamp](2).getMonth == 1) |
219 |
| - assert(rows(0).getAs[java.sql.Timestamp](2).getDate == 20) |
220 |
| - assert(rows(0).getAs[java.sql.Timestamp](2).getHours == 11) |
221 |
| - assert(rows(0).getAs[java.sql.Timestamp](2).getMinutes == 22) |
222 |
| - assert(rows(0).getAs[java.sql.Timestamp](2).getSeconds == 33) |
| 214 | + val cal = new GregorianCalendar(java.util.Locale.ROOT) |
| 215 | + cal.setTime(rows(0).getAs[java.sql.Timestamp](0)) |
| 216 | + assert(cal.get(Calendar.HOUR_OF_DAY) == 12) |
| 217 | + assert(cal.get(Calendar.MINUTE) == 34) |
| 218 | + assert(cal.get(Calendar.SECOND) == 56) |
| 219 | + cal.setTime(rows(0).getAs[java.sql.Timestamp](1)) |
| 220 | + assert(cal.get(Calendar.YEAR) == 1996) |
| 221 | + assert(cal.get(Calendar.MONTH) == 0) |
| 222 | + assert(cal.get(Calendar.DAY_OF_MONTH) == 1) |
| 223 | + cal.setTime(rows(0).getAs[java.sql.Timestamp](2)) |
| 224 | + assert(cal.get(Calendar.YEAR) == 2002) |
| 225 | + assert(cal.get(Calendar.MONTH) == 1) |
| 226 | + assert(cal.get(Calendar.DAY_OF_MONTH) == 20) |
| 227 | + assert(cal.get(Calendar.HOUR) == 11) |
| 228 | + assert(cal.get(Calendar.MINUTE) == 22) |
| 229 | + assert(cal.get(Calendar.SECOND) == 33) |
223 | 230 | assert(rows(0).getAs[java.sql.Timestamp](2).getNanos == 543543543)
|
224 | 231 | }
|
225 | 232 |
|
|
0 commit comments