From f9cffcce0544b648e002251518e319dbdcfaec41 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Sat, 26 Aug 2023 17:05:39 +0200 Subject: [PATCH] Polish "Avoid calling executeBatch() with an empty batch" See gh-27154 --- .../java/org/springframework/jdbc/core/JdbcTemplate.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java index b07c70d2185..37b5996db30 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java @@ -1036,10 +1036,13 @@ public class JdbcTemplate extends JdbcAccessor implements JdbcOperations { if (logger.isDebugEnabled()) { logger.debug("Executing SQL batch update [" + sql + "]"); } + int batchSize = pss.getBatchSize(); + if (batchSize == 0) { + return new int[0]; + } int[] result = execute(sql, (PreparedStatementCallback) ps -> { try { - int batchSize = pss.getBatchSize(); InterruptibleBatchPreparedStatementSetter ipss = (pss instanceof InterruptibleBatchPreparedStatementSetter ibpss ? ibpss : null); if (JdbcUtils.supportsBatchUpdates(ps.getConnection())) { @@ -1050,7 +1053,7 @@ public class JdbcTemplate extends JdbcAccessor implements JdbcOperations { } ps.addBatch(); } - return batchSize > 0 ? ps.executeBatch() : new int[] {}; + return ps.executeBatch(); } else { List rowsAffected = new ArrayList<>();