[jOOQ/jOOQ#9343] Fix UDTDataType#getQualifiedName()
`UDTDataType#getQualifiedName()` returned a wrong result for types defined in the default schema (i.e. the schema with no name). In SQL the type name was rendered as `".my_type"` rather than simply `"my_type"`.
This commit is contained in:
parent
5c9fcf7748
commit
39bb771e1b
@ -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<R extends Record> extends DefaultDataType<R> {
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
@ -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<R extends UDTRecord<R>> extends DefaultDataType<R> {
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user