diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java index 12ad30089c..b9c2cb893c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java @@ -77,14 +77,23 @@ abstract class AbstractRecord extends AbstractStore implements Record { private static final long serialVersionUID = -6052512608911220404L; final RowImpl fields; - Value[] values; + final Value[] values; AbstractRecord(Collection> fields) { - this.fields = new RowImpl(fields); + this(new RowImpl(fields)); } AbstractRecord(Field... fields) { - this.fields = new RowImpl(fields); + this(new RowImpl(fields)); + } + + AbstractRecord(RowImpl fields) { + this.fields = fields; + this.values = new Value[fields.size()]; + + for (int i = 0; i < values.length; i++) { + values[i] = new Value(null); + } } // ------------------------------------------------------------------------ @@ -252,14 +261,6 @@ abstract class AbstractRecord extends AbstractStore implements Record { } final Value[] getValues() { - if (values == null) { - values = new Value[fields.size()]; - - for (int i = 0; i < values.length; i++) { - values[i] = new Value(null); - } - } - return values; }