diff --git a/jOOQ/src/main/java/org/jooq/InsertOnConflictDoUpdateStep.java b/jOOQ/src/main/java/org/jooq/InsertOnConflictDoUpdateStep.java index c73be1c442..2bba395c6b 100644 --- a/jOOQ/src/main/java/org/jooq/InsertOnConflictDoUpdateStep.java +++ b/jOOQ/src/main/java/org/jooq/InsertOnConflictDoUpdateStep.java @@ -44,6 +44,7 @@ import static org.jooq.SQLDialect.DERBY; import static org.jooq.SQLDialect.FIREBIRD_3_0; import static org.jooq.SQLDialect.HSQLDB; // ... +// ... import static org.jooq.SQLDialect.POSTGRES_9_5; // ... // ... diff --git a/jOOQ/src/main/java/org/jooq/InsertOnDuplicateSetStep.java b/jOOQ/src/main/java/org/jooq/InsertOnDuplicateSetStep.java index 4026f6016b..b0a1194af5 100644 --- a/jOOQ/src/main/java/org/jooq/InsertOnDuplicateSetStep.java +++ b/jOOQ/src/main/java/org/jooq/InsertOnDuplicateSetStep.java @@ -43,6 +43,7 @@ import static org.jooq.SQLDialect.CUBRID; // ... import static org.jooq.SQLDialect.DERBY; import static org.jooq.SQLDialect.HSQLDB; +// ... import static org.jooq.SQLDialect.MARIADB; import static org.jooq.SQLDialect.MYSQL; // ... diff --git a/jOOQ/src/main/java/org/jooq/LoaderOptionsStep.java b/jOOQ/src/main/java/org/jooq/LoaderOptionsStep.java index c350164730..ea28441094 100644 --- a/jOOQ/src/main/java/org/jooq/LoaderOptionsStep.java +++ b/jOOQ/src/main/java/org/jooq/LoaderOptionsStep.java @@ -43,6 +43,7 @@ import static org.jooq.SQLDialect.CUBRID; // ... import static org.jooq.SQLDialect.DERBY; import static org.jooq.SQLDialect.HSQLDB; +// ... import static org.jooq.SQLDialect.MARIADB; import static org.jooq.SQLDialect.MYSQL; // ... diff --git a/jOOQ/src/main/java/org/jooq/impl/LoaderImpl.java b/jOOQ/src/main/java/org/jooq/impl/LoaderImpl.java index 794831e4f9..d0020a00e9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/LoaderImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/LoaderImpl.java @@ -203,9 +203,8 @@ final class LoaderImpl implements @Override public final LoaderImpl onDuplicateKeyUpdate() { - if (table.getPrimaryKey() == null) { + if (table.getPrimaryKey() == null) throw new IllegalStateException("ON DUPLICATE KEY UPDATE only works on tables with explicit primary keys. Table is not updatable : " + table); - } onDuplicate = ON_DUPLICATE_KEY_UPDATE; return this; diff --git a/jOOQ/src/main/java/org/jooq/tools/Convert.java b/jOOQ/src/main/java/org/jooq/tools/Convert.java index 8fcf18a957..9fa31c0c94 100644 --- a/jOOQ/src/main/java/org/jooq/tools/Convert.java +++ b/jOOQ/src/main/java/org/jooq/tools/Convert.java @@ -88,6 +88,7 @@ import org.jooq.SQLDialect; import org.jooq.UDTRecord; import org.jooq.exception.DataTypeException; import org.jooq.tools.jdbc.MockArray; +import org.jooq.tools.reflect.Reflect; import org.jooq.types.UByte; import org.jooq.types.UInteger; import org.jooq.types.ULong; @@ -582,7 +583,7 @@ public final class Convert { return (U) Byte.valueOf(new BigDecimal(from.toString().trim()).byteValue()); } catch (NumberFormatException e) { - return null; + return Reflect.initValue(toClass); } } else if (wrapperTo == Short.class) { @@ -596,7 +597,7 @@ public final class Convert { return (U) Short.valueOf(new BigDecimal(from.toString().trim()).shortValue()); } catch (NumberFormatException e) { - return null; + return Reflect.initValue(toClass); } } else if (wrapperTo == Integer.class) { @@ -610,7 +611,7 @@ public final class Convert { return (U) Integer.valueOf(new BigDecimal(from.toString().trim()).intValue()); } catch (NumberFormatException e) { - return null; + return Reflect.initValue(toClass); } } else if (wrapperTo == Long.class) { @@ -634,7 +635,7 @@ public final class Convert { return (U) Long.valueOf(new BigDecimal(from.toString().trim()).longValue()); } catch (NumberFormatException e) { - return null; + return Reflect.initValue(toClass); } } @@ -713,7 +714,7 @@ public final class Convert { return (U) Float.valueOf(from.toString().trim()); } catch (NumberFormatException e) { - return null; + return Reflect.initValue(toClass); } } else if (wrapperTo == Double.class) { @@ -727,7 +728,7 @@ public final class Convert { return (U) Double.valueOf(from.toString().trim()); } catch (NumberFormatException e) { - return null; + return Reflect.initValue(toClass); } } else if (toClass == BigDecimal.class) { @@ -767,7 +768,7 @@ public final class Convert { return (U) (((Boolean) from) ? Character.valueOf('1') : Character.valueOf('0')); if (from.toString().length() < 1) - return null; + return Reflect.initValue(toClass); return (U) Character.valueOf(from.toString().charAt(0)); }