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"); + } }