Skip to content

Commit 01a06c3

Browse files
author
Paultagoras
committed
Tweaking date handling
1 parent e46aac9 commit 01a06c3

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

jdbc-v2/src/main/java/com/clickhouse/jdbc/PreparedStatementImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ public ResultSetMetaData getMetaData() throws SQLException {
269269
public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException {
270270
checkClosed();
271271
if (cal == null) {
272-
cal = new GregorianCalendar();//This says whatever date is in UTC
272+
cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"));//This says whatever date is in UTC
273273
}
274274

275275
LocalDate d = x.toLocalDate();

jdbc-v2/src/main/java/com/clickhouse/jdbc/ResultSetImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1053,7 +1053,7 @@ public Date getDate(String columnLabel, Calendar cal) throws SQLException {
10531053
wasNull = false;
10541054

10551055
if (cal == null) {
1056-
cal = new GregorianCalendar();
1056+
cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"));//Default to UTC
10571057
}
10581058

10591059
return Date.valueOf(zdt.withZoneSameInstant(cal.getTimeZone().toZoneId()).toLocalDate());

jdbc-v2/src/test/java/com/clickhouse/jdbc/DataTypeTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -281,26 +281,26 @@ public void testDateTypes() throws SQLException {
281281
try (Statement stmt = conn.createStatement()) {
282282
try (ResultSet rs = stmt.executeQuery("SELECT * FROM test_dates ORDER BY order")) {
283283
assertTrue(rs.next());
284-
assertEquals(rs.getDate("date", new GregorianCalendar(TimeZone.getTimeZone("UTC"))), Date.valueOf("1970-01-01"));
285-
assertEquals(rs.getDate("date32", new GregorianCalendar(TimeZone.getTimeZone("UTC"))), Date.valueOf("1970-01-01"));
284+
assertEquals(rs.getDate("date"), Date.valueOf("1970-01-01"));
285+
assertEquals(rs.getDate("date32"), Date.valueOf("1970-01-01"));
286286
assertEquals(rs.getTimestamp("dateTime").toInstant().toString(), "1970-01-01T00:00:00Z");
287287
assertEquals(rs.getTimestamp("dateTime32").toInstant().toString(), "1970-01-01T00:00:00Z");
288288
assertEquals(rs.getTimestamp("dateTime643").toInstant().toString(), "1970-01-01T00:00:00Z");
289289
assertEquals(rs.getTimestamp("dateTime646").toInstant().toString(), "1970-01-01T00:00:00Z");
290290
assertEquals(rs.getTimestamp("dateTime649").toInstant().toString(), "1970-01-01T00:00:00Z");
291291

292292
assertTrue(rs.next());
293-
assertEquals(rs.getDate("date", new GregorianCalendar(TimeZone.getTimeZone("UTC"))), Date.valueOf("2149-06-06"));
294-
assertEquals(rs.getDate("date32", new GregorianCalendar(TimeZone.getTimeZone("UTC"))), Date.valueOf("2299-12-31"));
293+
assertEquals(rs.getDate("date"), Date.valueOf("2149-06-06"));
294+
assertEquals(rs.getDate("date32"), Date.valueOf("2299-12-31"));
295295
assertEquals(rs.getTimestamp("dateTime").toInstant().toString(), "2106-02-07T06:28:15Z");
296296
assertEquals(rs.getTimestamp("dateTime32").toInstant().toString(), "2106-02-07T06:28:15Z");
297297
assertEquals(rs.getTimestamp("dateTime643").toInstant().toString(), "2261-12-31T23:59:59.999Z");
298298
assertEquals(rs.getTimestamp("dateTime646").toInstant().toString(), "2261-12-31T23:59:59.999999Z");
299299
assertEquals(rs.getTimestamp("dateTime649").toInstant().toString(), "2261-12-31T23:59:59.999999999Z");
300300

301301
assertTrue(rs.next());
302-
assertEquals(rs.getDate("date", new GregorianCalendar(TimeZone.getTimeZone("UTC"))).toString(), date.toString());
303-
assertEquals(rs.getDate("date32", new GregorianCalendar(TimeZone.getTimeZone("UTC"))).toString(), date32.toString());
302+
assertEquals(rs.getDate("date").toString(), date.toString());
303+
assertEquals(rs.getDate("date32").toString(), date32.toString());
304304
assertEquals(rs.getTimestamp("dateTime").toString(), dateTime.toString());
305305
assertEquals(rs.getTimestamp("dateTime32").toString(), dateTime32.toString());
306306
assertEquals(rs.getTimestamp("dateTime643").toString(), dateTime643.toString());

0 commit comments

Comments
 (0)