diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index edaade305f..a51e7ca5e0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -170,6 +170,7 @@ import static org.jooq.impl.Tools.fieldArray; import static org.jooq.impl.Tools.hasAmbiguousNames; import static org.jooq.impl.Tools.isNotEmpty; import static org.jooq.impl.Tools.qualify; +import static org.jooq.impl.Tools.recordType; import static org.jooq.impl.Tools.selectQueryImpl; import static org.jooq.impl.Tools.unalias; import static org.jooq.impl.Tools.unqualified; @@ -3505,9 +3506,9 @@ final class SelectQueryImpl extends AbstractResultQuery imp if (getFrom().size() == 1 && getSelectAsSpecified().isEmpty()) return (Class) getFrom().get(0).asTable().getRecordType(); - // TODO: [#4695] Calculate the correct Record[B] type + // [#4695] [#11521] Calculate the correct Record[B] type else - return (Class) RecordImplN.class; + return (Class) recordType(getSelect().size()); } final TableList getFrom() {