Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reuse existing SQL where feasible #4801

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
* @author Dimitrios Liapis
* @author Philippe Marschall
* @author Jinwoo Bae
* @author Yanming Zhou
*/
public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements JobExecutionDao, InitializingBean {

Expand Down Expand Up @@ -102,24 +103,18 @@ SELECT COUNT(*)
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
* @author Will Schipp
* @author Mahmoud Ben Hassine
* @author Parikshit Dutta
* @author Yanming Zhou
*/
public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements JobInstanceDao, InitializingBean {

Expand All @@ -71,19 +72,16 @@ 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(*)
FROM %PREFIX%JOB_INSTANCE
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
Expand All @@ -103,12 +101,7 @@ SELECT COUNT(*)
ORDER BY JOB_NAME
""";

private static final String FIND_LAST_JOBS_BY_NAME = """
SELECT JOB_INSTANCE_ID, JOB_NAME
FROM %PREFIX%JOB_INSTANCE
WHERE JOB_NAME = ?
ORDER BY JOB_INSTANCE_ID DESC
""";
private static final String FIND_LAST_JOBS_BY_NAME = FIND_JOBS_WITH_NAME + " ORDER BY JOB_INSTANCE_ID DESC";

private static final String FIND_LAST_JOB_INSTANCE_BY_JOB_NAME = """
SELECT JOB_INSTANCE_ID, JOB_NAME
Expand Down