From 9a60e718523c181b6fdac02c0caeba27450c8aa4 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 16 Jun 2020 15:03:06 +0200 Subject: [PATCH] [jOOQ/jOOQ#7172] [jOOQ/jOOQ#10274] Fix regression The previous fix for TableImpl::equals was incorrect when the schema is qualified with a catalog --- jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java | 1 + jOOQ/src/main/java/org/jooq/impl/TableImpl.java | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java b/jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java index ceb511ae08..16c1270ae4 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SchemaImpl.java @@ -69,6 +69,7 @@ public class SchemaImpl extends AbstractNamed implements Schema { private static final long serialVersionUID = -8101463810207566546L; private static final Clause[] CLAUSES = { SCHEMA, SCHEMA_REFERENCE }; + static final Schema DEFAULT_SCHEMA = new SchemaImpl(""); private Catalog catalog; diff --git a/jOOQ/src/main/java/org/jooq/impl/TableImpl.java b/jOOQ/src/main/java/org/jooq/impl/TableImpl.java index dc9fd71ea9..2601bbe726 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableImpl.java @@ -50,7 +50,9 @@ import static org.jooq.SQLDialect.POSTGRES; import static org.jooq.impl.Internal.createPathAlias; import static org.jooq.impl.Keywords.K_TABLE; import static org.jooq.impl.QueryPartListView.wrap; +import static org.jooq.impl.SchemaImpl.DEFAULT_SCHEMA; import static org.jooq.impl.Tools.getMappedTable; +import static org.jooq.tools.StringUtils.defaultIfNull; import java.util.Arrays; import java.util.Set; @@ -367,8 +369,8 @@ public class TableImpl extends AbstractTable { // [#7172] [#10274] Cannot use getQualifiedName() yet here StringUtils.equals( - getSchema() == null ? "" : getSchema().getName(), - other.getSchema() == null ? "" : other.getSchema().getName() + defaultIfNull(getSchema(), DEFAULT_SCHEMA), + defaultIfNull(other.getSchema(), DEFAULT_SCHEMA) ) && StringUtils.equals(getName(), other.getName()) && Arrays.equals(parameters, other.parameters);