[#8116] XMLDatabase should not distinguish between empty catalog and absent catalog
This commit is contained in:
parent
0e33d07200
commit
89f79d5f47
@ -395,9 +395,9 @@ public class XMLDatabase extends AbstractDatabase {
|
||||
if (constraintType == constraint.getConstraintType()
|
||||
&& getInputSchemata().contains(constraint.getConstraintSchema()))
|
||||
for (KeyColumnUsage usage : info().getKeyColumnUsages())
|
||||
if ( StringUtils.equals(constraint.getConstraintCatalog(), usage.getConstraintCatalog())
|
||||
&& StringUtils.equals(constraint.getConstraintSchema(), usage.getConstraintSchema())
|
||||
&& StringUtils.equals(constraint.getConstraintName(), usage.getConstraintName()))
|
||||
if ( StringUtils.equals(defaultIfNull(constraint.getConstraintCatalog(), ""), defaultIfNull(usage.getConstraintCatalog(), ""))
|
||||
&& StringUtils.equals(defaultIfNull(constraint.getConstraintSchema(), ""), defaultIfNull(usage.getConstraintSchema(), ""))
|
||||
&& StringUtils.equals(defaultIfNull(constraint.getConstraintName(), ""), defaultIfNull(usage.getConstraintName(), "")))
|
||||
|
||||
result.add(usage);
|
||||
|
||||
@ -430,9 +430,9 @@ public class XMLDatabase extends AbstractDatabase {
|
||||
for (ReferentialConstraint fk : info().getReferentialConstraints()) {
|
||||
if (getInputSchemata().contains(fk.getConstraintSchema())) {
|
||||
for (KeyColumnUsage usage : info().getKeyColumnUsages()) {
|
||||
if ( StringUtils.equals(fk.getConstraintCatalog(), usage.getConstraintCatalog())
|
||||
&& StringUtils.equals(fk.getConstraintSchema(), usage.getConstraintSchema())
|
||||
&& StringUtils.equals(fk.getConstraintName(), usage.getConstraintName())) {
|
||||
if ( StringUtils.equals(defaultIfNull(fk.getConstraintCatalog(), ""), defaultIfNull(usage.getConstraintCatalog(), ""))
|
||||
&& StringUtils.equals(defaultIfNull(fk.getConstraintSchema(), ""), defaultIfNull(usage.getConstraintSchema(), ""))
|
||||
&& StringUtils.equals(defaultIfNull(fk.getConstraintName(), ""), defaultIfNull(usage.getConstraintName(), ""))) {
|
||||
|
||||
SchemaDefinition foreignKeySchema = getSchema(fk.getConstraintSchema());
|
||||
SchemaDefinition uniqueKeySchema = getSchema(fk.getUniqueConstraintSchema());
|
||||
@ -444,9 +444,9 @@ public class XMLDatabase extends AbstractDatabase {
|
||||
String uniqueKeyTableName = null;
|
||||
|
||||
for (TableConstraint uk : info().getTableConstraints()) {
|
||||
if ( StringUtils.equals(fk.getUniqueConstraintCatalog(), uk.getConstraintCatalog())
|
||||
&& StringUtils.equals(fk.getUniqueConstraintSchema(), uk.getConstraintSchema())
|
||||
&& StringUtils.equals(fk.getUniqueConstraintName(), uk.getConstraintName())) {
|
||||
if ( StringUtils.equals(defaultIfNull(fk.getUniqueConstraintCatalog(), ""), defaultIfNull(uk.getConstraintCatalog(), ""))
|
||||
&& StringUtils.equals(defaultIfNull(fk.getUniqueConstraintSchema(), ""), defaultIfNull(uk.getConstraintSchema(), ""))
|
||||
&& StringUtils.equals(defaultIfNull(fk.getUniqueConstraintName(), ""), defaultIfNull(uk.getConstraintName(), ""))) {
|
||||
uniqueKeyTableName = uk.getTableName();
|
||||
break;
|
||||
}
|
||||
|
||||
@ -38,6 +38,7 @@
|
||||
package org.jooq.meta.xml;
|
||||
|
||||
import static org.jooq.meta.xml.XMLDatabase.unbox;
|
||||
import static org.jooq.tools.StringUtils.defaultIfNull;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
@ -78,9 +79,9 @@ public class XMLTableDefinition extends AbstractTableDefinition {
|
||||
List<ColumnDefinition> result = new ArrayList<ColumnDefinition>();
|
||||
|
||||
for (Column column : info.getColumns()) {
|
||||
if (StringUtils.equals(table.getTableCatalog(), column.getTableCatalog()) &&
|
||||
StringUtils.equals(table.getTableSchema(), column.getTableSchema()) &&
|
||||
StringUtils.equals(table.getTableName(), column.getTableName())) {
|
||||
if (StringUtils.equals(defaultIfNull(table.getTableCatalog(), ""), defaultIfNull(column.getTableCatalog(), "")) &&
|
||||
StringUtils.equals(defaultIfNull(table.getTableSchema(), ""), defaultIfNull(column.getTableSchema(), "")) &&
|
||||
StringUtils.equals(defaultIfNull(table.getTableName(), ""), defaultIfNull(column.getTableName(), ""))) {
|
||||
|
||||
SchemaDefinition schema = getDatabase().getSchema(column.getTableSchema());
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user