diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractStoreQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractStoreQuery.java index 8150f4a254..4bf3405793 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractStoreQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractStoreQuery.java @@ -37,7 +37,11 @@ */ package org.jooq.impl; +// ... + +import java.util.HashSet; import java.util.Map; +import java.util.Set; import org.jooq.Configuration; import org.jooq.Context; @@ -59,6 +63,11 @@ abstract class AbstractStoreQuery extends AbstractDMLQuery */ private static final long serialVersionUID = 6864591335823160569L; + + + + + AbstractStoreQuery(Configuration configuration, WithImpl with, Table table) { super(configuration, with, table); } @@ -85,22 +94,50 @@ abstract class AbstractStoreQuery extends AbstractDMLQuery final void addValue(Field field, int index, T value) { if (field == null) - if (index >= 0) - addValue(new UnknownField(index), value); - else - addValue(new UnknownField(getValues().size()), value); + addUnknownValue(index, value); else - getValues().put(field, Tools.field(value, field)); + addKnownValue(field, value); + } + + private final void addUnknownValue(int index, T value) { + if (index >= 0) + addValue(new UnknownField(index), value); + else + addValue(new UnknownField(getValues().size()), value); + } + + private final void addKnownValue(Field field, T value) { + addKnownValue(field, Tools.field(value, field)); } final void addValue(Field field, int index, Field value) { if (field == null) - if (index >= 0) - addValue(new UnknownField(index), value); - else - addValue(new UnknownField(getValues().size()), value); + addUnknownValue(index, value); else - getValues().put(field, Tools.field(value, field)); + addKnownValue(field, value); + } + + private final void addUnknownValue(int index, Field value) { + if (index >= 0) + addValue(new UnknownField(index), value); + else + addValue(new UnknownField(getValues().size()), value); + } + + private final void addKnownValue(Field field, Field value) { + + + + + + + + + + + + + getValues().put(field, value); } static class UnknownField extends AbstractField {