[jOOQ/jOOQ#7389] UniqueKey.getReferences returns unnamed foreign keys

This commit is contained in:
Lukas Eder 2019-06-04 16:50:32 +02:00
parent 7c94342142
commit 11c5e08fc5
2 changed files with 10 additions and 15 deletions

View File

@ -916,17 +916,19 @@ final class MetaImpl extends AbstractMeta {
List<ForeignKey<?, Record>> references = new ArrayList<ForeignKey<?, Record>>(groups.size());
for (Entry<Record, Result<Record>> entry : groups.entrySet()) {
Schema schema = schemas.get(entry.getKey().get(1));
Record key = entry.getKey();
Result<Record> value = entry.getValue();
Table<Record> fkTable = (Table<Record>) schema.getTable(entry.getKey().get(2, String.class));
TableField<Record, ?>[] fkFields = new TableField[entry.getValue().size()];
Schema schema = schemas.get(key.get(1));
for (int i = 0; i < entry.getValue().size(); i++) {
Record record = entry.getValue().get(i);
fkFields[i] = (TableField<Record, ?>) fkTable.field(record.get(7, String.class));
}
Table<Record> fkTable = (Table<Record>) schema.getTable(key.get(2, String.class));
String fkName = key.get(3, String.class);
TableField<Record, ?>[] fkFields = new TableField[value.size()];
references.add(new ReferenceImpl<Record, Record>(this, fkTable, fkFields));
for (int i = 0; i < value.size(); i++)
fkFields[i] = (TableField<Record, ?>) fkTable.field(value.get(i).get(7, String.class));
references.add(new ReferenceImpl<Record, Record>(this, fkTable, fkName, fkFields));
}
return references;

View File

@ -71,13 +71,6 @@ final class ReferenceImpl<R extends Record, O extends Record> extends AbstractKe
private final UniqueKey<O> key;
@SafeVarargs
ReferenceImpl(UniqueKey<O> key, Table<R> table, TableField<R, ?>... fields) {
this(key, table, null, fields);
}
@SafeVarargs
ReferenceImpl(UniqueKey<O> key, Table<R> table, String name, TableField<R, ?>... fields) {