diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java index 1542fc3079..92c08f7dec 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java @@ -95,8 +95,9 @@ abstract class AbstractRecord extends AbstractStore implements Record { public final List getAttachables() { List result = new ArrayList(); - for (Field field : getFields()) { - Object value = getValue(field); + int size = getFields().size(); + for (int i = 0; i < size; i++) { + Object value = getValue0(i); if (value instanceof Attachable) { result.add((Attachable) value); @@ -131,6 +132,11 @@ abstract class AbstractRecord extends AbstractStore implements Record { return getFields().size(); } + @SuppressWarnings("unchecked") + final Value getValue0(int index) { + return (Value) getValues()[index]; + } + @SuppressWarnings("unchecked") final Value getValue0(Field field) { return (Value) getValues()[getIndex(field)];