From e4f0c596d73a442bb12acc799ef0542862188c8c Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 18 Mar 2024 11:53:50 +0100 Subject: [PATCH] [jOOQ/jOOQ#16450] SEEK doesn't work correctly when there are multiple noField() arguments and ORDER BY is uniform and Settings.renderRowConditionForSeekClause is true --- .../main/java/org/jooq/impl/SelectQueryImpl.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index ed827ace75..a439d00ea6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -4450,10 +4450,15 @@ final class SelectQueryImpl extends AbstractResultQuery imp l = new ArrayList<>(l); r = new ArrayList<>(r); - for (int i = 0; i < r.size(); i++) { - if (r.get(i) instanceof NoField) { - l.remove(i); - r.remove(i); + Iterator> lit = l.iterator(); + Iterator> rit = r.iterator(); + + while (lit.hasNext() && rit.hasNext()) { + lit.next(); + + if (rit.next() instanceof NoField) { + lit.remove(); + rit.remove(); } } }