Skip to content

Commit 4513d78

Browse files
committed
Use text blocks for SQL queries
This commit replaces String concatenation with text blocks for SQL queries in various DAOs. This improves the readability of the code. NB: Not all SQL queries in the code base were changed to use text blocks, but only those where readability became an issue.
1 parent af62a22 commit 4513d78

File tree

4 files changed

+226
-119
lines changed

4 files changed

+226
-119
lines changed

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

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -59,29 +59,49 @@
5959
*/
6060
public class JdbcExecutionContextDao extends AbstractJdbcBatchMetadataDao implements ExecutionContextDao {
6161

62-
private static final String FIND_JOB_EXECUTION_CONTEXT = "SELECT SHORT_CONTEXT, SERIALIZED_CONTEXT "
63-
+ "FROM %PREFIX%JOB_EXECUTION_CONTEXT WHERE JOB_EXECUTION_ID = ?";
64-
65-
private static final String INSERT_JOB_EXECUTION_CONTEXT = "INSERT INTO %PREFIX%JOB_EXECUTION_CONTEXT "
66-
+ "(SHORT_CONTEXT, SERIALIZED_CONTEXT, JOB_EXECUTION_ID) " + "VALUES(?, ?, ?)";
67-
68-
private static final String UPDATE_JOB_EXECUTION_CONTEXT = "UPDATE %PREFIX%JOB_EXECUTION_CONTEXT "
69-
+ "SET SHORT_CONTEXT = ?, SERIALIZED_CONTEXT = ? " + "WHERE JOB_EXECUTION_ID = ?";
70-
71-
private static final String FIND_STEP_EXECUTION_CONTEXT = "SELECT SHORT_CONTEXT, SERIALIZED_CONTEXT "
72-
+ "FROM %PREFIX%STEP_EXECUTION_CONTEXT WHERE STEP_EXECUTION_ID = ?";
73-
74-
private static final String INSERT_STEP_EXECUTION_CONTEXT = "INSERT INTO %PREFIX%STEP_EXECUTION_CONTEXT "
75-
+ "(SHORT_CONTEXT, SERIALIZED_CONTEXT, STEP_EXECUTION_ID) " + "VALUES(?, ?, ?)";
76-
77-
private static final String UPDATE_STEP_EXECUTION_CONTEXT = "UPDATE %PREFIX%STEP_EXECUTION_CONTEXT "
78-
+ "SET SHORT_CONTEXT = ?, SERIALIZED_CONTEXT = ? " + "WHERE STEP_EXECUTION_ID = ?";
79-
80-
private static final String DELETE_STEP_EXECUTION_CONTEXT = "DELETE FROM %PREFIX%STEP_EXECUTION_CONTEXT "
81-
+ "WHERE STEP_EXECUTION_ID = ?";
82-
83-
private static final String DELETE_JOB_EXECUTION_CONTEXT = "DELETE FROM %PREFIX%JOB_EXECUTION_CONTEXT "
84-
+ "WHERE JOB_EXECUTION_ID = ?";
62+
private static final String FIND_JOB_EXECUTION_CONTEXT = """
63+
SELECT SHORT_CONTEXT, SERIALIZED_CONTEXT
64+
FROM %PREFIX%JOB_EXECUTION_CONTEXT
65+
WHERE JOB_EXECUTION_ID = ?
66+
""";
67+
68+
private static final String INSERT_JOB_EXECUTION_CONTEXT = """
69+
INSERT INTO %PREFIX%JOB_EXECUTION_CONTEXT (SHORT_CONTEXT, SERIALIZED_CONTEXT, JOB_EXECUTION_ID)
70+
VALUES(?, ?, ?)
71+
""";
72+
73+
private static final String UPDATE_JOB_EXECUTION_CONTEXT = """
74+
UPDATE %PREFIX%JOB_EXECUTION_CONTEXT
75+
SET SHORT_CONTEXT = ?, SERIALIZED_CONTEXT = ?
76+
WHERE JOB_EXECUTION_ID = ?
77+
""";
78+
79+
private static final String FIND_STEP_EXECUTION_CONTEXT = """
80+
SELECT SHORT_CONTEXT, SERIALIZED_CONTEXT
81+
FROM %PREFIX%STEP_EXECUTION_CONTEXT
82+
WHERE STEP_EXECUTION_ID = ?
83+
""";
84+
85+
private static final String INSERT_STEP_EXECUTION_CONTEXT = """
86+
INSERT INTO %PREFIX%STEP_EXECUTION_CONTEXT (SHORT_CONTEXT, SERIALIZED_CONTEXT, STEP_EXECUTION_ID)
87+
VALUES(?, ?, ?)
88+
""";
89+
90+
private static final String UPDATE_STEP_EXECUTION_CONTEXT = """
91+
UPDATE %PREFIX%STEP_EXECUTION_CONTEXT
92+
SET SHORT_CONTEXT = ?, SERIALIZED_CONTEXT = ?
93+
WHERE STEP_EXECUTION_ID = ?
94+
""";
95+
96+
private static final String DELETE_STEP_EXECUTION_CONTEXT = """
97+
DELETE FROM %PREFIX%STEP_EXECUTION_CONTEXT
98+
WHERE STEP_EXECUTION_ID = ?
99+
""";
100+
101+
private static final String DELETE_JOB_EXECUTION_CONTEXT = """
102+
DELETE FROM %PREFIX%JOB_EXECUTION_CONTEXT
103+
WHERE JOB_EXECUTION_ID = ?
104+
""";
85105

86106
private Charset charset = StandardCharsets.UTF_8;
87107

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

Lines changed: 74 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -77,39 +77,80 @@ public class JdbcJobExecutionDao extends AbstractJdbcBatchMetadataDao implements
7777

7878
private static final Log logger = LogFactory.getLog(JdbcJobExecutionDao.class);
7979

80-
private static final String SAVE_JOB_EXECUTION = "INSERT into %PREFIX%JOB_EXECUTION(JOB_EXECUTION_ID, JOB_INSTANCE_ID, START_TIME, "
81-
+ "END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, VERSION, CREATE_TIME, LAST_UPDATED) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
82-
83-
private static final String CHECK_JOB_EXECUTION_EXISTS = "SELECT COUNT(*) FROM %PREFIX%JOB_EXECUTION WHERE JOB_EXECUTION_ID = ?";
84-
85-
private static final String GET_STATUS = "SELECT STATUS from %PREFIX%JOB_EXECUTION where JOB_EXECUTION_ID = ?";
86-
87-
private static final String UPDATE_JOB_EXECUTION = "UPDATE %PREFIX%JOB_EXECUTION set START_TIME = ?, END_TIME = ?, "
88-
+ " STATUS = ?, EXIT_CODE = ?, EXIT_MESSAGE = ?, VERSION = ?, CREATE_TIME = ?, LAST_UPDATED = ? where JOB_EXECUTION_ID = ? and VERSION = ?";
89-
90-
private static final String FIND_JOB_EXECUTIONS = "SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION"
91-
+ " from %PREFIX%JOB_EXECUTION where JOB_INSTANCE_ID = ? order by JOB_EXECUTION_ID desc";
92-
93-
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 "
94-
+ "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 = ?)";
95-
96-
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"
97-
+ " from %PREFIX%JOB_EXECUTION where JOB_EXECUTION_ID = ?";
98-
99-
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, "
100-
+ "E.JOB_INSTANCE_ID from %PREFIX%JOB_EXECUTION E, %PREFIX%JOB_INSTANCE I where E.JOB_INSTANCE_ID=I.JOB_INSTANCE_ID and I.JOB_NAME=? and E.STATUS in ('STARTING', 'STARTED', 'STOPPING')";
101-
102-
private static final String CURRENT_VERSION_JOB_EXECUTION = "SELECT VERSION FROM %PREFIX%JOB_EXECUTION WHERE JOB_EXECUTION_ID=?";
103-
104-
private static final String FIND_PARAMS_FROM_ID = "SELECT JOB_EXECUTION_ID, PARAMETER_NAME, PARAMETER_TYPE, "
105-
+ "PARAMETER_VALUE, IDENTIFYING from %PREFIX%JOB_EXECUTION_PARAMS where JOB_EXECUTION_ID = ?";
106-
107-
private static final String CREATE_JOB_PARAMETERS = "INSERT into %PREFIX%JOB_EXECUTION_PARAMS(JOB_EXECUTION_ID, PARAMETER_NAME, PARAMETER_TYPE, "
108-
+ "PARAMETER_VALUE, IDENTIFYING) values (?, ?, ?, ?, ?)";
109-
110-
private static final String DELETE_JOB_EXECUTION = "DELETE FROM %PREFIX%JOB_EXECUTION WHERE JOB_EXECUTION_ID = ?";
111-
112-
private static final String DELETE_JOB_EXECUTION_PARAMETERS = "DELETE FROM %PREFIX%JOB_EXECUTION_PARAMS WHERE JOB_EXECUTION_ID = ?";
80+
private static final String SAVE_JOB_EXECUTION = """
81+
INSERT INTO %PREFIX%JOB_EXECUTION(JOB_EXECUTION_ID, JOB_INSTANCE_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, VERSION, CREATE_TIME, LAST_UPDATED)
82+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
83+
""";
84+
85+
private static final String CHECK_JOB_EXECUTION_EXISTS = """
86+
SELECT COUNT(*)
87+
FROM %PREFIX%JOB_EXECUTION
88+
WHERE JOB_EXECUTION_ID = ?
89+
""";
90+
91+
private static final String GET_STATUS = """
92+
SELECT STATUS
93+
FROM %PREFIX%JOB_EXECUTION
94+
WHERE JOB_EXECUTION_ID = ?
95+
""";
96+
97+
private static final String UPDATE_JOB_EXECUTION = """
98+
UPDATE %PREFIX%JOB_EXECUTION
99+
SET START_TIME = ?, END_TIME = ?, STATUS = ?, EXIT_CODE = ?, EXIT_MESSAGE = ?, VERSION = ?, CREATE_TIME = ?, LAST_UPDATED = ?
100+
WHERE JOB_EXECUTION_ID = ? AND VERSION = ?
101+
""";
102+
103+
private static final String FIND_JOB_EXECUTIONS = """
104+
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
105+
FROM %PREFIX%JOB_EXECUTION
106+
WHERE JOB_INSTANCE_ID = ?
107+
ORDER BY JOB_EXECUTION_ID DESC
108+
""";
109+
110+
private static final String GET_LAST_EXECUTION = """
111+
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
112+
FROM %PREFIX%JOB_EXECUTION E
113+
WHERE JOB_INSTANCE_ID = ? AND JOB_EXECUTION_ID IN (SELECT MAX(JOB_EXECUTION_ID) FROM %PREFIX%JOB_EXECUTION E2 WHERE E2.JOB_INSTANCE_ID = ?)
114+
""";
115+
116+
private static final String GET_EXECUTION_BY_ID = """
117+
SELECT JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, CREATE_TIME, LAST_UPDATED, VERSION
118+
FROM %PREFIX%JOB_EXECUTION
119+
WHERE JOB_EXECUTION_ID = ?
120+
""";
121+
122+
private static final String GET_RUNNING_EXECUTIONS = """
123+
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
124+
FROM %PREFIX%JOB_EXECUTION E, %PREFIX%JOB_INSTANCE I
125+
WHERE E.JOB_INSTANCE_ID=I.JOB_INSTANCE_ID AND I.JOB_NAME=? AND E.STATUS IN ('STARTING', 'STARTED', 'STOPPING')
126+
""";
127+
128+
private static final String CURRENT_VERSION_JOB_EXECUTION = """
129+
SELECT VERSION
130+
FROM %PREFIX%JOB_EXECUTION
131+
WHERE JOB_EXECUTION_ID=?
132+
""";
133+
134+
private static final String FIND_PARAMS_FROM_ID = """
135+
SELECT JOB_EXECUTION_ID, PARAMETER_NAME, PARAMETER_TYPE, PARAMETER_VALUE, IDENTIFYING
136+
FROM %PREFIX%JOB_EXECUTION_PARAMS
137+
WHERE JOB_EXECUTION_ID = ?
138+
""";
139+
140+
private static final String CREATE_JOB_PARAMETERS = """
141+
INSERT INTO %PREFIX%JOB_EXECUTION_PARAMS(JOB_EXECUTION_ID, PARAMETER_NAME, PARAMETER_TYPE, PARAMETER_VALUE, IDENTIFYING)
142+
VALUES (?, ?, ?, ?, ?)
143+
""";
144+
145+
private static final String DELETE_JOB_EXECUTION = """
146+
DELETE FROM %PREFIX%JOB_EXECUTION
147+
WHERE JOB_EXECUTION_ID = ?
148+
""";
149+
150+
private static final String DELETE_JOB_EXECUTION_PARAMETERS = """
151+
DELETE FROM %PREFIX%JOB_EXECUTION_PARAMS
152+
WHERE JOB_EXECUTION_ID = ?
153+
""";
113154

114155
private int exitMessageLength = DEFAULT_EXIT_MESSAGE_LENGTH;
115156

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

Lines changed: 63 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2006-2022 the original author or authors.
2+
* Copyright 2006-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -60,32 +60,72 @@ public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements
6060

6161
private static final String SQL_WILDCARD = "%";
6262

63-
private static final String CREATE_JOB_INSTANCE = "INSERT into %PREFIX%JOB_INSTANCE(JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION)"
64-
+ " values (?, ?, ?, ?)";
63+
private static final String CREATE_JOB_INSTANCE = """
64+
INSERT INTO %PREFIX%JOB_INSTANCE(JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION)
65+
VALUES (?, ?, ?, ?)
66+
""";
6567

66-
private static final String FIND_JOBS_WITH_NAME = "SELECT JOB_INSTANCE_ID, JOB_NAME from %PREFIX%JOB_INSTANCE where JOB_NAME = ?";
68+
private static final String FIND_JOBS_WITH_NAME = """
69+
SELECT JOB_INSTANCE_ID, JOB_NAME
70+
FROM %PREFIX%JOB_INSTANCE
71+
WHERE JOB_NAME = ?
72+
""";
6773

6874
private static final String FIND_JOBS_WITH_KEY = FIND_JOBS_WITH_NAME + " and JOB_KEY = ?";
6975

70-
private static final String COUNT_JOBS_WITH_NAME = "SELECT COUNT(*) from %PREFIX%JOB_INSTANCE where JOB_NAME = ?";
71-
72-
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)";
73-
74-
private static final String GET_JOB_FROM_ID = "SELECT JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION from %PREFIX%JOB_INSTANCE where JOB_INSTANCE_ID = ?";
75-
76-
private static final String GET_JOB_FROM_EXECUTION_ID = "SELECT ji.JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, ji.VERSION from %PREFIX%JOB_INSTANCE ji, "
77-
+ "%PREFIX%JOB_EXECUTION je where JOB_EXECUTION_ID = ? and ji.JOB_INSTANCE_ID = je.JOB_INSTANCE_ID";
78-
79-
private static final String FIND_JOB_NAMES = "SELECT distinct JOB_NAME from %PREFIX%JOB_INSTANCE order by JOB_NAME";
80-
81-
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";
82-
83-
private static final String FIND_LAST_JOB_INSTANCE_BY_JOB_NAME = "SELECT JOB_INSTANCE_ID, JOB_NAME from %PREFIX%JOB_INSTANCE I1 where"
84-
+ " I1.JOB_NAME = ? and I1.JOB_INSTANCE_ID in (SELECT max(I2.JOB_INSTANCE_ID) from %PREFIX%JOB_INSTANCE I2 where I2.JOB_NAME = ?)";
85-
86-
private static final String FIND_LAST_JOBS_LIKE_NAME = "SELECT JOB_INSTANCE_ID, JOB_NAME from %PREFIX%JOB_INSTANCE where JOB_NAME like ? order by JOB_INSTANCE_ID desc";
87-
88-
private static final String DELETE_JOB_INSTANCE = "DELETE FROM %PREFIX%JOB_INSTANCE WHERE JOB_INSTANCE_ID = ?";
76+
private static final String COUNT_JOBS_WITH_NAME = """
77+
SELECT COUNT(*)
78+
FROM %PREFIX%JOB_INSTANCE
79+
WHERE JOB_NAME = ?
80+
""";
81+
82+
private static final String FIND_JOBS_WITH_EMPTY_KEY = """
83+
SELECT JOB_INSTANCE_ID, JOB_NAME
84+
FROM %PREFIX%JOB_INSTANCE
85+
WHERE JOB_NAME = ? AND (JOB_KEY = ? OR JOB_KEY IS NULL)
86+
""";
87+
88+
private static final String GET_JOB_FROM_ID = """
89+
SELECT JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION
90+
FROM %PREFIX%JOB_INSTANCE
91+
WHERE JOB_INSTANCE_ID = ?
92+
""";
93+
94+
private static final String GET_JOB_FROM_EXECUTION_ID = """
95+
SELECT JI.JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, JI.VERSION
96+
FROM %PREFIX%JOB_INSTANCE JI, %PREFIX%JOB_EXECUTION JE
97+
WHERE JOB_EXECUTION_ID = ? AND JI.JOB_INSTANCE_ID = JE.JOB_INSTANCE_ID
98+
""";
99+
100+
private static final String FIND_JOB_NAMES = """
101+
SELECT DISTINCT JOB_NAME
102+
FROM %PREFIX%JOB_INSTANCE
103+
ORDER BY JOB_NAME
104+
""";
105+
106+
private static final String FIND_LAST_JOBS_BY_NAME = """
107+
SELECT JOB_INSTANCE_ID, JOB_NAME
108+
FROM %PREFIX%JOB_INSTANCE
109+
WHERE JOB_NAME = ?
110+
ORDER BY JOB_INSTANCE_ID DESC
111+
""";
112+
113+
private static final String FIND_LAST_JOB_INSTANCE_BY_JOB_NAME = """
114+
SELECT JOB_INSTANCE_ID, JOB_NAME
115+
FROM %PREFIX%JOB_INSTANCE I1
116+
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 = ?)
117+
""";
118+
119+
private static final String FIND_LAST_JOBS_LIKE_NAME = """
120+
SELECT JOB_INSTANCE_ID, JOB_NAME
121+
FROM %PREFIX%JOB_INSTANCE
122+
WHERE JOB_NAME LIKE ? ORDER BY JOB_INSTANCE_ID DESC
123+
""";
124+
125+
private static final String DELETE_JOB_INSTANCE = """
126+
DELETE FROM %PREFIX%JOB_INSTANCE
127+
WHERE JOB_INSTANCE_ID = ?
128+
""";
89129

90130
private DataFieldMaxValueIncrementer jobInstanceIncrementer;
91131

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

Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2006-2022 the original author or authors.
2+
* Copyright 2006-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -69,45 +69,51 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
6969

7070
private static final Log logger = LogFactory.getLog(JdbcStepExecutionDao.class);
7171

72-
private static final String SAVE_STEP_EXECUTION = "INSERT into %PREFIX%STEP_EXECUTION(STEP_EXECUTION_ID, VERSION, "
73-
+ "STEP_NAME, JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, COMMIT_COUNT, READ_COUNT, FILTER_COUNT, "
74-
+ "WRITE_COUNT, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, PROCESS_SKIP_COUNT, "
75-
+ "ROLLBACK_COUNT, LAST_UPDATED, CREATE_TIME) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
76-
77-
private static final String UPDATE_STEP_EXECUTION = "UPDATE %PREFIX%STEP_EXECUTION set START_TIME = ?, END_TIME = ?, "
78-
+ "STATUS = ?, COMMIT_COUNT = ?, READ_COUNT = ?, FILTER_COUNT = ?, WRITE_COUNT = ?, EXIT_CODE = ?, "
79-
+ "EXIT_MESSAGE = ?, VERSION = ?, READ_SKIP_COUNT = ?, PROCESS_SKIP_COUNT = ?, WRITE_SKIP_COUNT = ?, "
80-
+ "ROLLBACK_COUNT = ?, LAST_UPDATED = ?" + " where STEP_EXECUTION_ID = ? and VERSION = ?";
81-
82-
private static final String GET_RAW_STEP_EXECUTIONS = "SELECT STEP_EXECUTION_ID, STEP_NAME, START_TIME, END_TIME, "
83-
+ "STATUS, COMMIT_COUNT, READ_COUNT, FILTER_COUNT, WRITE_COUNT, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, "
84-
+ "WRITE_SKIP_COUNT, PROCESS_SKIP_COUNT, ROLLBACK_COUNT, LAST_UPDATED, VERSION, CREATE_TIME from "
85-
+ "%PREFIX%STEP_EXECUTION where JOB_EXECUTION_ID = ?";
86-
87-
private static final String GET_STEP_EXECUTIONS = GET_RAW_STEP_EXECUTIONS + " order by STEP_EXECUTION_ID";
88-
89-
private static final String GET_STEP_EXECUTION = GET_RAW_STEP_EXECUTIONS + " and STEP_EXECUTION_ID = ?";
90-
91-
private static final String GET_LAST_STEP_EXECUTION = "SELECT "
92-
+ " SE.STEP_EXECUTION_ID, SE.STEP_NAME, SE.START_TIME, SE.END_TIME, SE.STATUS, SE.COMMIT_COUNT, "
93-
+ "SE.READ_COUNT, SE.FILTER_COUNT, SE.WRITE_COUNT, SE.EXIT_CODE, SE.EXIT_MESSAGE, SE.READ_SKIP_COUNT, "
94-
+ "SE.WRITE_SKIP_COUNT, SE.PROCESS_SKIP_COUNT, SE.ROLLBACK_COUNT, SE.LAST_UPDATED, SE.VERSION, SE.CREATE_TIME,"
95-
+ " JE.JOB_EXECUTION_ID, JE.START_TIME, JE.END_TIME, JE.STATUS, JE.EXIT_CODE, JE.EXIT_MESSAGE, "
96-
+ "JE.CREATE_TIME, JE.LAST_UPDATED, JE.VERSION"
97-
+ " from %PREFIX%JOB_EXECUTION JE join %PREFIX%STEP_EXECUTION SE"
98-
+ " on SE.JOB_EXECUTION_ID = JE.JOB_EXECUTION_ID " + "where JE.JOB_INSTANCE_ID = ?"
99-
+ " and SE.STEP_NAME = ?" + " order by SE.CREATE_TIME desc, SE.STEP_EXECUTION_ID desc";
100-
101-
private static final String CURRENT_VERSION_STEP_EXECUTION = "SELECT VERSION FROM %PREFIX%STEP_EXECUTION WHERE "
102-
+ "STEP_EXECUTION_ID=?";
103-
104-
private static final String COUNT_STEP_EXECUTIONS = "SELECT COUNT(*) "
105-
+ " from %PREFIX%JOB_EXECUTION JE JOIN %PREFIX%STEP_EXECUTION SE "
106-
+ " on SE.JOB_EXECUTION_ID = JE.JOB_EXECUTION_ID " + "where JE.JOB_INSTANCE_ID = ?"
107-
+ " and SE.STEP_NAME = ?";
108-
109-
private static final String DELETE_STEP_EXECUTION = "DELETE FROM %PREFIX%STEP_EXECUTION "
110-
+ "WHERE STEP_EXECUTION_ID = ?";
72+
private static final String SAVE_STEP_EXECUTION = """
73+
INSERT INTO %PREFIX%STEP_EXECUTION(STEP_EXECUTION_ID, VERSION, STEP_NAME, JOB_EXECUTION_ID, START_TIME, END_TIME, STATUS, COMMIT_COUNT, READ_COUNT, FILTER_COUNT, WRITE_COUNT, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, PROCESS_SKIP_COUNT, ROLLBACK_COUNT, LAST_UPDATED, CREATE_TIME)
74+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
75+
""";
76+
77+
private static final String UPDATE_STEP_EXECUTION = """
78+
UPDATE %PREFIX%STEP_EXECUTION
79+
SET START_TIME = ?, END_TIME = ?, STATUS = ?, COMMIT_COUNT = ?, READ_COUNT = ?, FILTER_COUNT = ?, WRITE_COUNT = ?, EXIT_CODE = ?, EXIT_MESSAGE = ?, VERSION = ?, READ_SKIP_COUNT = ?, PROCESS_SKIP_COUNT = ?, WRITE_SKIP_COUNT = ?, ROLLBACK_COUNT = ?, LAST_UPDATED = ?
80+
WHERE STEP_EXECUTION_ID = ? AND VERSION = ?
81+
""";
82+
83+
private static final String GET_RAW_STEP_EXECUTIONS = """
84+
SELECT STEP_EXECUTION_ID, STEP_NAME, START_TIME, END_TIME, STATUS, COMMIT_COUNT, READ_COUNT, FILTER_COUNT, WRITE_COUNT, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, PROCESS_SKIP_COUNT, ROLLBACK_COUNT, LAST_UPDATED, VERSION, CREATE_TIME
85+
FROM %PREFIX%STEP_EXECUTION
86+
WHERE JOB_EXECUTION_ID = ?
87+
""";
88+
89+
private static final String GET_STEP_EXECUTIONS = GET_RAW_STEP_EXECUTIONS + " ORDER BY STEP_EXECUTION_ID";
90+
91+
private static final String GET_STEP_EXECUTION = GET_RAW_STEP_EXECUTIONS + " AND STEP_EXECUTION_ID = ?";
92+
93+
private static final String GET_LAST_STEP_EXECUTION = """
94+
SELECT SE.STEP_EXECUTION_ID, SE.STEP_NAME, SE.START_TIME, SE.END_TIME, SE.STATUS, SE.COMMIT_COUNT, SE.READ_COUNT, SE.FILTER_COUNT, SE.WRITE_COUNT, SE.EXIT_CODE, SE.EXIT_MESSAGE, SE.READ_SKIP_COUNT, SE.WRITE_SKIP_COUNT, SE.PROCESS_SKIP_COUNT, SE.ROLLBACK_COUNT, SE.LAST_UPDATED, SE.VERSION, SE.CREATE_TIME, JE.JOB_EXECUTION_ID, JE.START_TIME, JE.END_TIME, JE.STATUS, JE.EXIT_CODE, JE.EXIT_MESSAGE, JE.CREATE_TIME, JE.LAST_UPDATED, JE.VERSION
95+
FROM %PREFIX%JOB_EXECUTION JE
96+
JOIN %PREFIX%STEP_EXECUTION SE ON SE.JOB_EXECUTION_ID = JE.JOB_EXECUTION_ID
97+
WHERE JE.JOB_INSTANCE_ID = ? AND SE.STEP_NAME = ?
98+
ORDER BY SE.CREATE_TIME DESC, SE.STEP_EXECUTION_ID DESC
99+
""";
100+
101+
private static final String CURRENT_VERSION_STEP_EXECUTION = """
102+
SELECT VERSION FROM %PREFIX%STEP_EXECUTION
103+
WHERE STEP_EXECUTION_ID=?
104+
""";
105+
106+
private static final String COUNT_STEP_EXECUTIONS = """
107+
SELECT COUNT(*)
108+
FROM %PREFIX%JOB_EXECUTION JE
109+
JOIN %PREFIX%STEP_EXECUTION SE ON SE.JOB_EXECUTION_ID = JE.JOB_EXECUTION_ID
110+
WHERE JE.JOB_INSTANCE_ID = ? AND SE.STEP_NAME = ?
111+
""";
112+
113+
private static final String DELETE_STEP_EXECUTION = """
114+
DELETE FROM %PREFIX%STEP_EXECUTION
115+
WHERE STEP_EXECUTION_ID = ?
116+
""";
111117

112118
private int exitMessageLength = DEFAULT_EXIT_MESSAGE_LENGTH;
113119

0 commit comments

Comments
 (0)