diff --git a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java index af5493014a..9b9c0fa993 100644 --- a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java @@ -74,6 +74,7 @@ import static org.jooq.impl.Tools.flatMap; import static org.jooq.impl.Tools.map; import static org.jooq.tools.StringUtils.defaultIfEmpty; import static org.jooq.tools.StringUtils.defaultString; +import static org.jooq.tools.StringUtils.isEmpty; import java.io.Serializable; import java.sql.DatabaseMetaData; @@ -158,6 +159,10 @@ final class MetaImpl extends AbstractMeta { this.inverseSchemaCatalog = INVERSE_SCHEMA_CATALOG.contains(dialect()); } + final boolean hasCatalog(Catalog catalog) { + return catalog != null && !isEmpty(catalog.getName()); + } + final R catalogSchema(Catalog catalog, Schema schema, ThrowingBiFunction function) throws SQLException { return catalogSchema( catalog != null ? catalog.getName() : null, @@ -824,7 +829,7 @@ final class MetaImpl extends AbstractMeta { // [#7377] The schema may be null instead of "" in some dialects Schema schema = schemas.get(name( - defaultString(k.get(0, String.class)), + hasCatalog(getCatalog()) ? defaultString(k.get(0, String.class)) : null, defaultString(k.get(1, String.class)) ));