diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java index cc14315e1d..eb6c347856 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractDMLQuery.java @@ -917,15 +917,17 @@ abstract class AbstractDMLQuery extends AbstractQuery { if (returningResolvedAsterisks.size() == 1 && new Fields(returningResolvedAsterisks).field(field) != null) { for (final Object id : ids) { ((Result) getResult()).add( - Tools.newRecord(true, table, originalConfiguration) - .operate(new RecordOperation() { + Tools.newRecord( + true, + RecordImpl.class, + returningResolvedAsterisks.toArray(EMPTY_FIELD), + originalConfiguration) + .operate(new RecordOperation() { @Override - public R operate(R record) throws RuntimeException { - int index = record.fieldsRow().indexOf(field); - - ((AbstractRecord) record).values[index] = id; - ((AbstractRecord) record).originals[index] = id; + public RecordImpl operate(RecordImpl record) throws RuntimeException { + record.values[0] = id; + record.originals[0] = id; return record; }