From d9377c2e3519168ad55585f056cb3917cedfeab1 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 18 Jan 2018 18:04:16 +0100 Subject: [PATCH] [#6265] Added missing Routine <: Named implementation --- .../java/org/jooq/impl/AbstractRoutine.java | 35 +++---------------- 1 file changed, 4 insertions(+), 31 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java index a72aba26ed..9107d3a11e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRoutine.java @@ -76,7 +76,6 @@ import static org.jooq.impl.Keywords.K_TYPE; import static org.jooq.impl.Keywords.K_WHEN; import static org.jooq.impl.Keywords.K_XMLTABLE; import static org.jooq.impl.Tools.EMPTY_FIELD; -import static org.jooq.impl.Tools.EMPTY_STRING; import static org.jooq.impl.Tools.executeStatementAndGetFirstResultSet; import static org.jooq.impl.Tools.settings; @@ -136,7 +135,7 @@ import org.jooq.tools.reflect.Reflect; * * @author Lukas Eder */ -public abstract class AbstractRoutine extends AbstractQueryPart implements Routine { +public abstract class AbstractRoutine extends AbstractNamed implements Routine { /** * Generated UID @@ -150,7 +149,6 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro private final Schema schema; private final Package pkg; - private final String name; private final List> allParameters; private final List> inParameters; private final List> outParameters; @@ -227,11 +225,12 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro @SuppressWarnings({ "unchecked", "rawtypes" }) protected AbstractRoutine(String name, Schema schema, Package pkg, DataType type, Converter converter, Binding binding) { + super(qualify(pkg != null ? pkg : schema, DSL.name(name)), CommentImpl.NO_COMMENT); + this.resultIndexes = new HashMap, Integer>(); this.schema = schema; this.pkg = pkg; - this.name = name; this.allParameters = new ArrayList>(); this.inParameters = new ArrayList>(); this.outParameters = new ArrayList>(); @@ -1249,11 +1248,6 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro return pkg; } - @Override - public final String getName() { - return name; - } - @Override public final Parameter getReturnParameter() { return returnParameter; @@ -1413,16 +1407,7 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro } // [#2393] Fully qualify custom aggregate functions. - // TODO: Merge this code into RoutineField! - List names = new ArrayList(); - if (schema != null) { - names.add(schema.getName()); - } - if (pkg != null) { - names.add(pkg.getName()); - } - names.add(name); - return (AggregateFunction) function(DSL.name(names.toArray(EMPTY_STRING)), type, array); + return (AggregateFunction) function(getQualifiedName(), type, array); } /** @@ -1634,16 +1619,4 @@ public abstract class AbstractRoutine extends AbstractQueryPart implements Ro ctx.visit(result); } } - - // ------------------------------------------------------------------------ - // XXX: Object API - // ------------------------------------------------------------------------ - - @Override - public int hashCode() { - - // [#1938] This is a much more efficient hashCode() implementation - // compared to that of standard QueryParts - return name.hashCode(); - } }