[jOOQ/jOOQ#10538] Improve emulation of (a, b) >= (x, y)

This commit is contained in:
Lukas Eder 2020-08-26 17:38:39 +02:00
parent da0a801bc5
commit b32c62bd08

View File

@ -176,13 +176,14 @@ final class RowCondition extends AbstractCondition {
for (int j = 0; j < i; j++)
inner.add(leftFields[j].equal((Field) rightFields[j]));
inner.add(leftFields[i].compare(order, (Field) rightFields[i]));
inner.add(leftFields[i].compare(
equal && i == leftFields.length - 1 ? comparator : order,
(Field) rightFields[i])
);
outer.add(DSL.and(inner));
}
if (equal)
outer.add(new RowCondition(left, right, Comparator.EQUALS));
Condition result = DSL.or(outer);
// [#2658] For performance reasons, an additional, redundant