Mercurial > hg > monetdb-java
changeset 227:e938bb2c587f embedded
Use the system's timezone by default as well when retrieving times and timezones.
author | Pedro Ferreira <pedro.ferreira@monetdbsolutions.com> |
---|---|
date | Tue, 08 May 2018 18:18:30 +0200 (2018-05-08) |
parents | ff9049259602 |
children | 51e886d7f3b4 |
files | build.properties src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java |
diffstat | 2 files changed, 42 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/build.properties +++ b/build.properties @@ -19,7 +19,7 @@ MCL_MINOR=14 # major release number JDBC_MAJOR=2 # minor release number -JDBC_MINOR=35 +JDBC_MINOR=36 # an additional identifying string JDBC_VER_SUFFIX=Liberica # the default port to connect on, if no port given when using SQL
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java +++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java @@ -2629,7 +2629,10 @@ public class MonetResultSet extends Mone if(res == null) { return null; } - millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset(); + millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset(); + if(cal != null) { + millis += cal.getTimeZone().getRawOffset(); + } break; case 2013: //Types.TIME_WITH_TIMEZONE: case 2014: //Types.TIMESTAMP_WITH_TIMEZONE: @@ -2649,11 +2652,16 @@ public class MonetResultSet extends Mone if(res == null) { return null; } - millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset(); + millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset(); + if(cal != null) { + millis += cal.getTimeZone().getRawOffset(); + } break; default: this.addWarning("unsupported data type", "01M03"); - cal.clear(); + if(cal != null) { + cal.clear(); + } millis = 0; } return new Date(millis); @@ -2707,7 +2715,7 @@ public class MonetResultSet extends Mone */ @Override public Time getTime(int columnIndex) throws SQLException { - return getTime(columnIndex, null); + return getTime(columnIndex, Calendar.getInstance()); } /** @@ -2735,8 +2743,11 @@ public class MonetResultSet extends Mone res = (Calendar) currentBlock.getValueAsObject(columnIndex - 1); if(res == null) { return null; + } + millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset(); + if(cal != null) { + millis += cal.getTimeZone().getRawOffset(); } - millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset(); break; case 2013: //Types.TIME_WITH_TIMEZONE: case 2014: //Types.TIMESTAMP_WITH_TIMEZONE: @@ -2756,11 +2767,16 @@ public class MonetResultSet extends Mone if(res == null) { return null; } - millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset(); + millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset(); + if(cal != null) { + millis += cal.getTimeZone().getRawOffset(); + } break; default: this.addWarning("unsupported data type", "01M03"); - cal.clear(); + if(cal != null) { + cal.clear(); + } millis = 0; } return new Time(millis); @@ -2783,7 +2799,7 @@ public class MonetResultSet extends Mone */ @Override public Time getTime(String columnLabel) throws SQLException { - return getTime(findColumn(columnLabel), null); + return getTime(findColumn(columnLabel), Calendar.getInstance()); } /** @@ -2813,7 +2829,7 @@ public class MonetResultSet extends Mone */ @Override public Timestamp getTimestamp(int columnIndex) throws SQLException { - return getTimestamp(columnIndex, null); + return getTimestamp(columnIndex, Calendar.getInstance()); } /** @@ -2842,7 +2858,10 @@ public class MonetResultSet extends Mone if(res == null) { return null; } - millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset(); + millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset(); + if(cal != null) { + millis += cal.getTimeZone().getRawOffset(); + } break; case 2013: //Types.TIME_WITH_TIMEZONE: res = (Calendar) currentBlock.getValueAsObject(columnIndex - 1); @@ -2857,7 +2876,10 @@ public class MonetResultSet extends Mone return null; } nanos = currentBlock.getLastNanos(); - millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset(); + millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset(); + if(cal != null) { + millis += cal.getTimeZone().getRawOffset(); + } break; case 2014: //Types.TIMESTAMP_WITH_TIMEZONE: res = (Calendar) currentBlock.getValueAsObject(columnIndex - 1); @@ -2877,11 +2899,16 @@ public class MonetResultSet extends Mone if(res == null) { return null; } - millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset() + cal.getTimeZone().getRawOffset(); + millis = res.getTimeInMillis() - res.getTimeZone().getRawOffset(); + if(cal != null) { + millis += cal.getTimeZone().getRawOffset(); + } break; default: this.addWarning("unsupported data type", "01M03"); - cal.clear(); + if(cal != null) { + cal.clear(); + } millis = 0; } Timestamp result = new Timestamp(millis); @@ -2906,7 +2933,7 @@ public class MonetResultSet extends Mone */ @Override public Timestamp getTimestamp(String columnLabel) throws SQLException { - return getTimestamp(findColumn(columnLabel), null); + return getTimestamp(findColumn(columnLabel), Calendar.getInstance()); } /**