From fe95af230801e5e0029ad6b85c4607935e52df36 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 20 Feb 2025 15:56:33 +0100 Subject: [PATCH] [jOOQ/jOOQ#18033] Provide access to AbstractQualifiedRecord methods too --- .../java/org/jooq/impl/TableRecordImpl.java | 16 ++++++++++++++++ .../main/java/org/jooq/impl/UDTRecordImpl.java | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/TableRecordImpl.java b/jOOQ/src/main/java/org/jooq/impl/TableRecordImpl.java index aa95643eae..ebf31e166b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableRecordImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableRecordImpl.java @@ -90,6 +90,7 @@ import org.jooq.Insert; import org.jooq.InsertQuery; // ... import org.jooq.Record; +import org.jooq.Row; import org.jooq.SQLDialect; import org.jooq.StoreQuery; import org.jooq.Table; @@ -128,6 +129,21 @@ implements super(table); } + // [#8489] [#18033] [#12180] these overrides are necessary due to a Scala compiler bug (versions 2.10, 2.11, 3.5, 3.6) + // See: + // - https://github.com/scala/bug/issues/7936 + // - https://github.com/scala/scala3/issues/22628 + + @Override + public /* non-final */ Row fieldsRow() { + return super.fieldsRow(); + } + + @Override + public /* non-final */ Row valuesRow() { + return super.valuesRow(); + } + @Override public final Table getTable() { return (Table) getQualifier(); diff --git a/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java b/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java index d1f1e1520d..947d286d9b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java @@ -37,9 +37,12 @@ */ package org.jooq.impl; +import org.jooq.Row; import org.jooq.UDT; import org.jooq.UDTRecord; +import org.jetbrains.annotations.NotNull; + /** * A record implementation for a record originating from a single UDT *

@@ -63,4 +66,19 @@ public class UDTRecordImpl> extends AbstractQualifiedReco public String toString() { return DSL.using(configuration()).renderInlined(DSL.inline(this)); } + + // [#8489] [#18033] [#12180] these overrides are necessary due to a Scala compiler bug (versions 2.10, 2.11, 3.5, 3.6) + // See: + // - https://github.com/scala/bug/issues/7936 + // - https://github.com/scala/scala3/issues/22628 + + @Override + public /* non-final */ Row fieldsRow() { + return super.fieldsRow(); + } + + @Override + public /* non-final */ Row valuesRow() { + return super.valuesRow(); + } }