diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/FetchTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/FetchTests.java
index aa96d81970..3b48ceea26 100644
--- a/jOOQ-test/src/org/jooq/test/_/testcases/FetchTests.java
+++ b/jOOQ-test/src/org/jooq/test/_/testcases/FetchTests.java
@@ -865,8 +865,7 @@ extends BaseTest user = trim(lower(currentUser()));
Record record = create().select(user).fetchOne();
- assertTrue(Arrays.asList("test", "db2admin", "sa", "root@localhost", "postgres", "dbo", "dba")
+ assertTrue(Arrays.asList("test", "db2admin", "sa", "root@localhost", "postgres", "dbo", "dba", "dba@lukas-hp")
.contains(record.getValue(user)));
}
diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/SchemaAndMappingTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/SchemaAndMappingTests.java
index e1c4465212..afe073f6b7 100644
--- a/jOOQ-test/src/org/jooq/test/_/testcases/SchemaAndMappingTests.java
+++ b/jOOQ-test/src/org/jooq/test/_/testcases/SchemaAndMappingTests.java
@@ -193,6 +193,7 @@ extends BaseTest T639_BYTE() {
- return T_639NumbersTable.BYTE;
+ return null;
}
@Override
diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldTypeHelper.java b/jOOQ/src/main/java/org/jooq/impl/FieldTypeHelper.java
index 99f5f6277c..1ba886ea22 100644
--- a/jOOQ/src/main/java/org/jooq/impl/FieldTypeHelper.java
+++ b/jOOQ/src/main/java/org/jooq/impl/FieldTypeHelper.java
@@ -57,6 +57,7 @@ import java.sql.Types;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Map;
@@ -512,7 +513,10 @@ public final class FieldTypeHelper {
Date date = rs.getDate(index);
if (date != null) {
- date = new Date((rs.getDate(index).getTime() / 1000) * 1000);
+ Calendar cal = Calendar.getInstance();
+ cal.setTimeInMillis(date.getTime());
+ cal.set(Calendar.MILLISECOND, 0);
+ date = new Date(cal.getTimeInMillis());
}
return date;
@@ -534,7 +538,25 @@ public final class FieldTypeHelper {
}
return null;
- } else {
+ }
+
+ // Cubrid SQL dates are incorrectly fetched. Reset milliseconds...
+ // See http://jira.cubrid.org/browse/APIS-159
+ // See https://sourceforge.net/apps/trac/cubridinterface/ticket/140
+ else if (dialect == CUBRID) {
+ Time time = rs.getTime(index);
+
+ if (time != null) {
+ Calendar cal = Calendar.getInstance();
+ cal.setTimeInMillis(time.getTime());
+ cal.set(Calendar.MILLISECOND, 0);
+ time = new Time(cal.getTimeInMillis());
+ }
+
+ return time;
+ }
+
+ else {
return rs.getTime(index);
}
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/Val.java b/jOOQ/src/main/java/org/jooq/impl/Val.java
index 7ed65394b1..57bc2335d2 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Val.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Val.java
@@ -147,7 +147,6 @@ class Val extends AbstractField implements Param, BindingProvider {
case DERBY:
// These dialects have some trouble, when they mostly get it right.
- case CUBRID:
case H2:
case HSQLDB: