From 30ce3326d1df40ff2dae5967fed20dbab34f828d Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Wed, 29 Mar 2023 11:37:06 +0200 Subject: [PATCH] Improve performance of JdbcJobInstanceDao#getLastJobInstance Credit to @chenglongyan for the fix Resolves #4024 --- .../batch/core/repository/dao/JdbcJobInstanceDao.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java index ca06901c7..3a9a627c3 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDao.java @@ -113,7 +113,7 @@ public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements private static final String FIND_LAST_JOB_INSTANCE_BY_JOB_NAME = """ SELECT JOB_INSTANCE_ID, JOB_NAME FROM %PREFIX%JOB_INSTANCE I1 - WHERE I1.JOB_NAME = ? AND I1.JOB_INSTANCE_ID IN (SELECT MAX(I2.JOB_INSTANCE_ID) FROM %PREFIX%JOB_INSTANCE I2 WHERE I2.JOB_NAME = ?) + WHERE I1.JOB_NAME = ? AND I1.JOB_INSTANCE_ID = (SELECT MAX(I2.JOB_INSTANCE_ID) FROM %PREFIX%JOB_INSTANCE I2 WHERE I2.JOB_NAME = ?) """; private static final String FIND_LAST_JOBS_LIKE_NAME = """