Reuse existing SQL where feasible

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
This commit is contained in:
Yanming Zhou
2025-03-28 11:34:27 +08:00
committed by Mahmoud Ben Hassine
parent dcf95987c9
commit 782735ad2d
2 changed files with 12 additions and 19 deletions

View File

@@ -77,6 +77,7 @@ import org.springframework.util.Assert;
* @author Dimitrios Liapis
* @author Philippe Marschall
* @author Jinwoo Bae
* @author Yanming Zhou
*/
public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements JobExecutionDao, InitializingBean {
@@ -105,24 +106,18 @@ public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements
WHERE JOB_EXECUTION_ID = ? AND VERSION = ?
""";
private static final String FIND_JOB_EXECUTIONS = """
private static final String GET_JOB_EXECUTIONS = """
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
FROM %PREFIX%JOB_EXECUTION
WHERE JOB_INSTANCE_ID = ?
ORDER BY JOB_EXECUTION_ID DESC
""";
private static final String GET_LAST_EXECUTION = """
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
FROM %PREFIX%JOB_EXECUTION E
WHERE JOB_INSTANCE_ID = ? AND JOB_EXECUTION_ID IN (SELECT MAX(JOB_EXECUTION_ID) FROM %PREFIX%JOB_EXECUTION E2 WHERE E2.JOB_INSTANCE_ID = ?)
""";
private static final String FIND_JOB_EXECUTIONS = GET_JOB_EXECUTIONS
+ " WHERE JOB_INSTANCE_ID = ? ORDER BY JOB_EXECUTION_ID DESC";
private static final String GET_EXECUTION_BY_ID = """
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
FROM %PREFIX%JOB_EXECUTION
WHERE JOB_EXECUTION_ID = ?
""";
private static final String GET_LAST_EXECUTION = GET_JOB_EXECUTIONS
+ " WHERE JOB_INSTANCE_ID = ? AND JOB_EXECUTION_ID IN (SELECT MAX(JOB_EXECUTION_ID) FROM %PREFIX%JOB_EXECUTION E2 WHERE E2.JOB_INSTANCE_ID = ?)";
private static final String GET_EXECUTION_BY_ID = GET_JOB_EXECUTIONS + " WHERE JOB_EXECUTION_ID = ?";
private static final String GET_RUNNING_EXECUTIONS = """
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

View File

@@ -55,6 +55,7 @@ import org.springframework.util.StringUtils;
* @author Will Schipp
* @author Mahmoud Ben Hassine
* @author Parikshit Dutta
* @author Yanming Zhou
*/
public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements JobInstanceDao, InitializingBean {
@@ -73,7 +74,7 @@ public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements
WHERE JOB_NAME = ?
""";
private static final String FIND_JOBS_WITH_KEY = FIND_JOBS_WITH_NAME + " and JOB_KEY = ?";
private static final String FIND_JOBS_WITH_KEY = FIND_JOBS_WITH_NAME + " AND JOB_KEY = ?";
private static final String COUNT_JOBS_WITH_NAME = """
SELECT COUNT(*)
@@ -81,11 +82,8 @@ public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements
WHERE JOB_NAME = ?
""";
private static final String FIND_JOBS_WITH_EMPTY_KEY = """
SELECT JOB_INSTANCE_ID, JOB_NAME
FROM %PREFIX%JOB_INSTANCE
WHERE JOB_NAME = ? AND (JOB_KEY = ? OR JOB_KEY IS NULL)
""";
private static final String FIND_JOBS_WITH_EMPTY_KEY = FIND_JOBS_WITH_NAME
+ " AND (JOB_KEY = ? OR JOB_KEY IS NULL)";
private static final String GET_JOB_FROM_ID = """
SELECT JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION