diff --git a/jOOQ/src/main/java/org/jooq/impl/TableDataType.java b/jOOQ/src/main/java/org/jooq/impl/TableDataType.java index ce317799ab..870e599edc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableDataType.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableDataType.java @@ -37,6 +37,7 @@ */ package org.jooq.impl; +import org.jooq.Name; import org.jooq.Record; import org.jooq.SQLDialect; import org.jooq.Table; @@ -57,14 +58,17 @@ final class TableDataType extends DefaultDataType { } private static String getQualifiedName(Table table) { + Name name = table.getQualifiedName(); + if (!name.qualified()) + return name.first(); + StringBuilder sb = new StringBuilder(); - - if (table.getSchema() != null) { - sb.append(table.getSchema().getName()); - sb.append("."); + Name[] parts = name.parts(); + for (int i = 0; i < parts.length; i++) { + sb.append(parts[i].first()); + if (i < parts.length - 1) + sb.append('.'); } - - sb.append(table.getName()); return sb.toString(); } } diff --git a/jOOQ/src/main/java/org/jooq/impl/UDTDataType.java b/jOOQ/src/main/java/org/jooq/impl/UDTDataType.java index 37f1ea6469..8b9ea83e10 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UDTDataType.java +++ b/jOOQ/src/main/java/org/jooq/impl/UDTDataType.java @@ -37,6 +37,7 @@ */ package org.jooq.impl; +import org.jooq.Name; import org.jooq.SQLDialect; import org.jooq.UDT; import org.jooq.UDTRecord; @@ -56,14 +57,17 @@ final class UDTDataType> extends DefaultDataType { } private static String getQualifiedName(UDT udt) { + Name name = udt.getQualifiedName(); + if (!name.qualified()) + return name.first(); + StringBuilder sb = new StringBuilder(); - - if (udt.getSchema() != null) { - sb.append(udt.getSchema().getName()); - sb.append("."); + Name[] parts = name.parts(); + for (int i = 0; i < parts.length; i++) { + sb.append(parts[i].first()); + if (i < parts.length - 1) + sb.append('.'); } - - sb.append(udt.getName()); return sb.toString(); } }