From bd1e672ff38ad030eef632321e2f368bd13b6f20 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 23 May 2022 11:25:12 +0200 Subject: [PATCH] [jOOQ/jOOQ#2333] noField() support in UPDATE and DELETE --- .../src/main/java/org/jooq/impl/AbstractQueryPartMap.java | 4 ++-- jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java | 3 +++ jOOQ/src/main/java/org/jooq/impl/FieldMapForUpdate.java | 8 ++++++++ jOOQ/src/main/java/org/jooq/impl/UpdateQueryImpl.java | 3 +++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractQueryPartMap.java b/jOOQ/src/main/java/org/jooq/impl/AbstractQueryPartMap.java index 21733c5d68..b96520a83a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractQueryPartMap.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractQueryPartMap.java @@ -98,7 +98,7 @@ implements } @Override - public final V put(K key, V value) { + public /* non-final */ V put(K key, V value) { return map.put(key, value); } @@ -109,7 +109,7 @@ implements @Override public final void putAll(Map m) { - map.putAll(m); + m.forEach(this::put); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java index ba679b80f1..a7bd9bca31 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/DeleteQueryImpl.java @@ -221,6 +221,9 @@ final class DeleteQueryImpl extends AbstractDMLQuery implem @Override public final void addLimit(Field numberOfRows) { + if (numberOfRows instanceof NoField) + return; + limit = numberOfRows; } diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldMapForUpdate.java b/jOOQ/src/main/java/org/jooq/impl/FieldMapForUpdate.java index ea73e38155..fe375868fd 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FieldMapForUpdate.java +++ b/jOOQ/src/main/java/org/jooq/impl/FieldMapForUpdate.java @@ -362,6 +362,14 @@ final class FieldMapForUpdate extends AbstractQueryPartMap l) { + if (l instanceof NoField) + return; + limit = l; }