From e16a82371e080544dfe810e15827b893db748653 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 20 Apr 2023 13:30:43 +0200 Subject: [PATCH] [jOOQ/jOOQ#14967] Reactive batch implementations should throw UnsupportedOperationException with a message --- jOOQ/src/main/java/org/jooq/impl/AbstractBatch.java | 7 ------- jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java | 9 +++++++++ jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java | 2 +- jOOQ/src/main/java/org/jooq/impl/BatchSingle.java | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractBatch.java b/jOOQ/src/main/java/org/jooq/impl/AbstractBatch.java index e43abf585e..6552220e49 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractBatch.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractBatch.java @@ -65,13 +65,6 @@ abstract class AbstractBatch implements Batch { this.dsl = DSL.using(configuration); } - @Override - public void subscribe(Subscriber s) { - - // [#11700] TODO: Implement this - throw new UnsupportedOperationException(); - } - @Override public final CompletionStage executeAsync() { return executeAsync(configuration.executorProvider().provide()); diff --git a/jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java b/jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java index 40ec51a3aa..44ef4e6afc 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java +++ b/jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java @@ -55,6 +55,8 @@ import org.jooq.exception.ControlFlowSignal; import org.jooq.exception.DataAccessException; import org.jooq.tools.JooqLogger; +import org.reactivestreams.Subscriber; + /** * @author Lukas Eder */ @@ -76,6 +78,13 @@ final class BatchCRUD extends AbstractBatch { return records.length; } + @Override + public void subscribe(Subscriber s) { + + // [#11700] TODO: Implement this + throw new UnsupportedOperationException("BatchCRUD operations are not yet supported in a reactive way. Use ordinary batch operations, instead, or avoid batching. See https://github.com/jOOQ/jOOQ/issues/14874"); + } + @Override public final int[] execute() throws DataAccessException { diff --git a/jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java b/jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java index 8eddc0646e..93ba0b1947 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java +++ b/jOOQ/src/main/java/org/jooq/impl/BatchMultiple.java @@ -80,7 +80,7 @@ final class BatchMultiple extends AbstractBatch { // TODO: [#11700] Implement this else - throw new UnsupportedOperationException(); + throw new UnsupportedOperationException("The blocking, JDBC backed implementation of reactive batching has not yet been implemented. Use the R2DBC backed implementation, instead, or avoid batching."); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java b/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java index 2e8f274984..48337b80b6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java +++ b/jOOQ/src/main/java/org/jooq/impl/BatchSingle.java @@ -153,7 +153,7 @@ final class BatchSingle extends AbstractBatch implements BatchBindStep { // TODO: [#11700] Implement this else - throw new UnsupportedOperationException(); + throw new UnsupportedOperationException("The blocking, JDBC backed implementation of reactive batching has not yet been implemented. Use the R2DBC backed implementation, instead, or avoid batching."); } @Override