From c1d950cc5c213df98968eaff53ca1b4c4f57cb46 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 13 Mar 2024 10:54:18 +0100 Subject: [PATCH] Add a few type witnesses to help Eclipse 2023-12's compiler There seems to be an ecj compiler regression in 2023-09/2023-12, where type inference of our Tools.map() method fails here and there for not yet known reasons. I might investigate this later. For now, type witnesses will do. --- jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java | 2 +- jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java | 6 +++--- jOOQ/src/main/java/org/jooq/impl/Tools.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java index e8908291e4..d90e1511f3 100644 --- a/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/InsertQueryImpl.java @@ -1036,7 +1036,7 @@ implements // [#8937] With DEFAULT VALUES, there is no SELECT. Create one from // known DEFAULT expressions, or use NULL. if (s == null) - s = select(map(f, x -> x.getDataType().defaulted() ? x.getDataType().default_() : DSL.inline(null, x))); + s = select(map(f, (Field x) -> x.getDataType().defaulted() ? x.getDataType().default_() : DSL.inline(null, x))); diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index a7d040fea4..4f33b61211 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -1325,7 +1325,7 @@ final class SelectQueryImpl extends AbstractResultQuery imp DSL.select(new QualifiedSelectFieldList(table(name("t")), select)) .from(copy.asTable("t")) .where(rn.eq(one())) - .orderBy(map(orderBy, o -> unqualified(o))); + .orderBy(map(orderBy, (SortField o) -> unqualified(o))); if (limit.limit != null) { SelectLimitPercentStep s2 = s1.limit(limit.limit); @@ -1552,7 +1552,7 @@ final class SelectQueryImpl extends AbstractResultQuery imp && !s.having.hasWhere() && !s.limit.isApplicable() && !s.hasUnions()) - s.union((Select) DSL.select(map(s.getSelect(), f -> inline((Object) null, f))).where(falseCondition())); + s.union((Select) DSL.select(map(s.getSelect(), (Field f) -> inline((Object) null, f))).where(falseCondition())); })); else accept0(ctx); @@ -3687,7 +3687,7 @@ final class SelectQueryImpl extends AbstractResultQuery imp // [#7222] Workaround for https://issues.apache.org/jira/browse/DERBY-6983 if (ctx.family() == DERBY) - ctx.visit(new SelectFieldList<>(map(fields, f -> Tools.unqualified(f)))); + ctx.visit(new SelectFieldList<>(Tools., Field, RuntimeException>map(fields, f -> Tools.unqualified(f)))); else ctx.sql('*'); diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index ff5c0b1736..055c00ac4e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -1876,7 +1876,7 @@ final class Tools { } static final List> jsonEntries(Field[] entries) { - return Tools.map(entries, f -> DSL.jsonEntry(f)); + return Tools.map(entries, (Field f) -> DSL.jsonEntry(f)); } private static final IllegalArgumentException fieldExpected(Object value) {