|
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