From 3f46284a241ea07e972864743ce2cfe14f45a22b Mon Sep 17 00:00:00 2001 From: Sebastian Mangels Date: Thu, 11 Jun 2015 17:10:31 +0200 Subject: [PATCH 1/2] CalendarColumnConverter: Fixed null handling and precision with DateTime values. - Null handling was broken. - using java.util.Date instead of java.sql.Date. java.sql.Date drops the Time and only stores the Date. --- .../sqlapi4j/meta/impl/CalendarColumnConverter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java b/core/src/main/java/com/freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java index 22adaa7..620b3a8 100644 --- a/core/src/main/java/com/freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java +++ b/core/src/main/java/com/freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java @@ -16,7 +16,7 @@ */ package com.freiheit.sqlapi4j.meta.impl; -import java.sql.Date; +import java.util.Date; import java.sql.Timestamp; import java.sql.Types; import java.util.Calendar; @@ -40,6 +40,10 @@ public CalendarColumnConverter( int sqlType, String sqlTypename) { @Override public Calendar fromDb( java.util.Date value, DbType dbType) { + if (value == null) { + return null; + } + Calendar res= Calendar.getInstance(); res.setTimeInMillis( value.getTime()); return res; From b695e2f5f89cf407d58376efcd6a05f1edc2e323 Mon Sep 17 00:00:00 2001 From: Sebastian Mangels Date: Fri, 12 Jun 2015 10:08:13 +0200 Subject: [PATCH 2/2] CalendarColumnConverter: Additional fix for null handling. --- .../freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/src/main/java/com/freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java b/core/src/main/java/com/freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java index 620b3a8..9976bee 100644 --- a/core/src/main/java/com/freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java +++ b/core/src/main/java/com/freiheit/sqlapi4j/meta/impl/CalendarColumnConverter.java @@ -56,6 +56,11 @@ public int getSqlType() { @Override public java.util.Date toDb( Calendar value, DbType dbType) { + + if (value == null) { + return null; + } + switch( _sqlType) { case Types.TIMESTAMP: return new Timestamp( value.getTimeInMillis());