[jOOQ/jOOQ#11150] Omitting parts of the foreign key in onKey(TableField…) doesn't produce the expected result

This commit is contained in:
Lukas Eder 2020-12-24 14:07:11 +01:00
parent ad31d1c89b
commit 1d62737f95

View File

@ -682,18 +682,22 @@ implements
}
if (search(lhs, keyFields[0].getTable()) != null) {
for (ForeignKey<?, ?> key : lhs.getReferences()) {
if (key.getFields().containsAll(unaliased)) {
for (ForeignKey<?, ?> key : lhs.getReferences())
if (key.getFields().containsAll(unaliased) && unaliased.containsAll(key.getFields()))
return onKey(key);
for (ForeignKey<?, ?> key : lhs.getReferences())
if (key.getFields().containsAll(unaliased))
return onKey(key);
}
}
}
else if (search(rhs, keyFields[0].getTable()) != null) {
for (ForeignKey<?, ?> key : rhs.getReferences()) {
if (key.getFields().containsAll(unaliased)) {
for (ForeignKey<?, ?> key : rhs.getReferences())
if (key.getFields().containsAll(unaliased) && unaliased.containsAll(key.getFields()))
return onKey(key);
for (ForeignKey<?, ?> key : rhs.getReferences())
if (key.getFields().containsAll(unaliased))
return onKey(key);
}
}
}
}