Skip to content

Commit a5312fb

Browse files
committed
Reuse existing SQL where feasible
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
1 parent 08c4cb1 commit a5312fb

File tree

2 files changed

+12
-19
lines changed

2 files changed

+12
-19
lines changed

spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/jdbc/JdbcJobExecutionDao.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
* @author Dimitrios Liapis
7878
* @author Philippe Marschall
7979
* @author Jinwoo Bae
80+
* @author Yanming Zhou
8081
*/
8182
public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements JobExecutionDao, InitializingBean {
8283

@@ -105,24 +106,18 @@ SELECT COUNT(*)
105106
WHERE JOB_EXECUTION_ID = ? AND VERSION = ?
106107
""";
107108

108-
private static final String FIND_JOB_EXECUTIONS = """
109+
private static final String GET_JOB_EXECUTIONS = """
109110
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
110111
FROM %PREFIX%JOB_EXECUTION
111-
WHERE JOB_INSTANCE_ID = ?
112-
ORDER BY JOB_EXECUTION_ID DESC
113112
""";
114113

115-
private static final String GET_LAST_EXECUTION = """
116-
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
117-
FROM %PREFIX%JOB_EXECUTION E
118-
WHERE JOB_INSTANCE_ID = ? AND JOB_EXECUTION_ID IN (SELECT MAX(JOB_EXECUTION_ID) FROM %PREFIX%JOB_EXECUTION E2 WHERE E2.JOB_INSTANCE_ID = ?)
119-
""";
114+
private static final String FIND_JOB_EXECUTIONS = GET_JOB_EXECUTIONS
115+
+ " WHERE JOB_INSTANCE_ID = ? ORDER BY JOB_EXECUTION_ID DESC";
120116

121-
private static final String GET_EXECUTION_BY_ID = """
122-
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
123-
FROM %PREFIX%JOB_EXECUTION
124-
WHERE JOB_EXECUTION_ID = ?
125-
""";
117+
private static final String GET_LAST_EXECUTION = GET_JOB_EXECUTIONS
118+
+ " WHERE JOB_INSTANCE_ID = ? AND JOB_EXECUTION_ID IN (SELECT MAX(JOB_EXECUTION_ID) FROM %PREFIX%JOB_EXECUTION E2 WHERE E2.JOB_INSTANCE_ID = ?)";
119+
120+
private static final String GET_EXECUTION_BY_ID = GET_JOB_EXECUTIONS + " WHERE JOB_EXECUTION_ID = ?";
126121

127122
private static final String GET_RUNNING_EXECUTIONS = """
128123
SELECT E.JOB_EXECUTION_ID, E.START_TIME, E.END_TIME, E.STATUS, E.EXIT_CODE, E.EXIT_MESSAGE, E.CREATE_TIME, E.LAST_UPDATED, E.VERSION, E.JOB_INSTANCE_ID

spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/jdbc/JdbcJobInstanceDao.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
* @author Will Schipp
5656
* @author Mahmoud Ben Hassine
5757
* @author Parikshit Dutta
58+
* @author Yanming Zhou
5859
*/
5960
public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements JobInstanceDao, InitializingBean {
6061

@@ -73,19 +74,16 @@ public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements
7374
WHERE JOB_NAME = ?
7475
""";
7576

76-
private static final String FIND_JOBS_WITH_KEY = FIND_JOBS_WITH_NAME + " and JOB_KEY = ?";
77+
private static final String FIND_JOBS_WITH_KEY = FIND_JOBS_WITH_NAME + " AND JOB_KEY = ?";
7778

7879
private static final String COUNT_JOBS_WITH_NAME = """
7980
SELECT COUNT(*)
8081
FROM %PREFIX%JOB_INSTANCE
8182
WHERE JOB_NAME = ?
8283
""";
8384

84-
private static final String FIND_JOBS_WITH_EMPTY_KEY = """
85-
SELECT JOB_INSTANCE_ID, JOB_NAME
86-
FROM %PREFIX%JOB_INSTANCE
87-
WHERE JOB_NAME = ? AND (JOB_KEY = ? OR JOB_KEY IS NULL)
88-
""";
85+
private static final String FIND_JOBS_WITH_EMPTY_KEY = FIND_JOBS_WITH_NAME
86+
+ " AND (JOB_KEY = ? OR JOB_KEY IS NULL)";
8987

9088
private static final String GET_JOB_FROM_ID = """
9189
SELECT JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION

0 commit comments

Comments
 (0)