From 7ec1d714dfab67da726a07f7e0fe117f75f5e137 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 10 Dec 2021 14:20:17 +0100 Subject: [PATCH] [jOOQ/jOOQ#12731] DB2Database should order routine overloads by signature, not specificname This includes: - [jOOQ/jOOQ#12727] Support overloads also in Informix --- .../main/java/org/jooq/meta/AbstractDatabase.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java index 3db8f2109c..5affa4aedd 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java @@ -46,7 +46,12 @@ import static org.jooq.Log.Level.ERROR; import static org.jooq.SQLDialect.CUBRID; import static org.jooq.SQLDialect.FIREBIRD; import static org.jooq.SQLDialect.SQLITE; +import static org.jooq.impl.DSL.count; import static org.jooq.impl.DSL.falseCondition; +import static org.jooq.impl.DSL.one; +import static org.jooq.impl.DSL.partitionBy; +import static org.jooq.impl.DSL.rowNumber; +import static org.jooq.impl.DSL.when; import static org.jooq.meta.AbstractTypedElementDefinition.customType; import static org.jooq.tools.StringUtils.defaultIfBlank; import static org.jooq.tools.StringUtils.defaultIfEmpty; @@ -3367,4 +3372,11 @@ public abstract class AbstractDatabase implements Database { } } } + + protected final Field overload(Field schema, Field name, Field order) { + return when( + count().over(partitionBy(schema, name)).gt(one()), + rowNumber().over(partitionBy(schema, name).orderBy(order)) + ).as("overload"); + } }