diff --git a/jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java b/jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java index ce955d73c7..a026eb7f69 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java +++ b/jOOQ/src/main/java/org/jooq/impl/BatchCRUD.java @@ -176,7 +176,7 @@ final class BatchCRUD extends AbstractBatch { return result; } - private void executeAction(int i) { + private final void executeAction(int i) { switch (action) { case STORE: ((UpdatableRecord) records[i]).store(); diff --git a/jOOQ/src/main/java/org/jooq/tools/LoggerListener.java b/jOOQ/src/main/java/org/jooq/tools/LoggerListener.java index 8a6d34b7f4..5a82289860 100644 --- a/jOOQ/src/main/java/org/jooq/tools/LoggerListener.java +++ b/jOOQ/src/main/java/org/jooq/tools/LoggerListener.java @@ -73,9 +73,10 @@ import org.jooq.impl.DefaultVisitListener; */ public class LoggerListener extends DefaultExecuteListener { - private static final JooqLogger log = JooqLogger.getLogger(LoggerListener.class); - private static final String BUFFER = "org.jooq.tools.LoggerListener.BUFFER"; - private static final String DO_BUFFER = "org.jooq.tools.LoggerListener.DO_BUFFER"; + private static final JooqLogger log = JooqLogger.getLogger(LoggerListener.class); + private static final String BUFFER = "org.jooq.tools.LoggerListener.BUFFER"; + private static final String DO_BUFFER = "org.jooq.tools.LoggerListener.DO_BUFFER"; + private static final String BATCH_SIZE = "org.jooq.tools.LoggerListener.BATCH_SIZE"; @Override public void renderEnd(ExecuteContext ctx) { @@ -111,6 +112,14 @@ public class LoggerListener extends DefaultExecuteListener { log.debug("-> with bind values", newline + inlined); } + // [#2532] Log a complete BatchMultiple query + else if (ctx.type() == ExecuteType.BATCH + && batchSQL.length > 0 + && batchSQL[batchSQL.length - 1] != null) { + for (String sql : batchSQL) + log.debug("Executing batch query", newline + sql); + } + else if (!StringUtils.isBlank(ctx.sql())) { // [#1529] Batch queries should be logged specially @@ -119,16 +128,22 @@ public class LoggerListener extends DefaultExecuteListener { else log.debug("Executing query", newline + ctx.sql()); } - - // [#2532] Log a complete BatchMultiple query - else if (batchSQL.length > 0) { - if (batchSQL[batchSQL.length - 1] != null) - for (String sql : batchSQL) - log.debug("Executing batch query", newline + sql); - } } } + @Override + public void bindEnd(ExecuteContext ctx) { + if (log.isDebugEnabled()) + if (ctx.type() == ExecuteType.BATCH) + ctx.data().compute(BATCH_SIZE, (k, v) -> v == null ? 1 : ((int) v) + 1); + } + + @Override + public void executeStart(ExecuteContext ctx) { + if (log.isDebugEnabled()) + if (ctx.type() == ExecuteType.BATCH) + log.debug("Batch size", ctx.data().getOrDefault(BATCH_SIZE, ctx.batchSQL().length)); + } @SuppressWarnings("unchecked") @Override