From 1df7156550d91981f86accb611764144e059c65f Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Sun, 22 Apr 2012 12:24:47 +0200 Subject: [PATCH] [#1343] Regression in insertInto(...).values(...). Cannot pass Field to values() --- .../jooq/test/_/testcases/InsertUpdateTests.java | 13 +++++++++++++ jOOQ/src/main/java/org/jooq/impl/InsertImpl.java | 14 +++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/InsertUpdateTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/InsertUpdateTests.java index 236a86b433..990adb44ed 100644 --- a/jOOQ-test/src/org/jooq/test/_/testcases/InsertUpdateTests.java +++ b/jOOQ-test/src/org/jooq/test/_/testcases/InsertUpdateTests.java @@ -52,6 +52,7 @@ import static org.jooq.SQLDialect.SYBASE; import static org.jooq.impl.Factory.cast; import static org.jooq.impl.Factory.castNull; import static org.jooq.impl.Factory.count; +import static org.jooq.impl.Factory.inline; import static org.jooq.impl.Factory.max; import static org.jooq.impl.Factory.val; import static org.jooq.impl.Factory.vals; @@ -345,6 +346,18 @@ extends BaseTest return values(values.toArray()); } + @SuppressWarnings("unchecked") private void addValue(InsertQuery delegate, Field field, Object object) { - delegate.addValue(field, field.getDataType().convert(object)); + + // [#1343] Only convert non-jOOQ objects + if (object instanceof Field) { + delegate.addValue(field, (Field) object); + } + else if (object instanceof FieldLike) { + delegate.addValue(field, ((FieldLike) object).asField()); + } + else { + delegate.addValue(field, field.getDataType().convert(object)); + } } @SuppressWarnings("unchecked")