diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java index 6632eaddd..3c6984eb4 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDao.java @@ -56,17 +56,17 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement private static final Log logger = LogFactory.getLog(JdbcStepExecutionDao.class); private static final String FIND_STEP_EXECUTION_CONTEXT = "SELECT TYPE_CD, KEY_NAME, STRING_VAL, DOUBLE_VAL, LONG_VAL, OBJECT_VAL " - + "from %PREFIX%STEP_EXECUTION_CONTEXT where STEP_EXECUTION_ID = ?"; + + "from %PREFIX%EXECUTION_CONTEXT where EXECUTION_ID = ? and DISCRIMINATOR = 'S'"; - private static final String INSERT_STEP_EXECUTION_CONTEXT = "INSERT into %PREFIX%STEP_EXECUTION_CONTEXT(STEP_EXECUTION_ID, TYPE_CD," - + " KEY_NAME, STRING_VAL, DOUBLE_VAL, LONG_VAL, OBJECT_VAL) values(?,?,?,?,?,?,?)"; + private static final String INSERT_STEP_EXECUTION_CONTEXT = "INSERT into %PREFIX%EXECUTION_CONTEXT(EXECUTION_ID, DISCRIMINATOR, TYPE_CD," + + " KEY_NAME, STRING_VAL, DOUBLE_VAL, LONG_VAL, OBJECT_VAL) values(?,'S',?,?,?,?,?,?)"; private static final String SAVE_STEP_EXECUTION = "INSERT into %PREFIX%STEP_EXECUTION(STEP_EXECUTION_ID, VERSION, STEP_NAME, JOB_EXECUTION_ID, START_TIME, " + "END_TIME, STATUS, COMMIT_COUNT, ITEM_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, ROLLBACK_COUNT) " + "values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; - private static final String UPDATE_STEP_EXECUTION_CONTEXT = "UPDATE %PREFIX%STEP_EXECUTION_CONTEXT set " - + "TYPE_CD = ?, STRING_VAL = ?, DOUBLE_VAL = ?, LONG_VAL = ?, OBJECT_VAL = ? where STEP_EXECUTION_ID = ? and KEY_NAME = ?"; + private static final String UPDATE_STEP_EXECUTION_CONTEXT = "UPDATE %PREFIX%EXECUTION_CONTEXT set " + + "TYPE_CD = ?, STRING_VAL = ?, DOUBLE_VAL = ?, LONG_VAL = ?, OBJECT_VAL = ? where EXECUTION_ID = ? and KEY_NAME = ?"; private static final String UPDATE_STEP_EXECUTION = "UPDATE %PREFIX%STEP_EXECUTION set START_TIME = ?, END_TIME = ?, " + "STATUS = ?, COMMIT_COUNT = ?, ITEM_COUNT = ?, CONTINUABLE = ? , EXIT_CODE = ?, " diff --git a/spring-batch-core/src/main/resources/schema-db2.sql b/spring-batch-core/src/main/resources/schema-db2.sql index c14a1e0e9..99aa6e395 100644 --- a/spring-batch-core/src/main/resources/schema-db2.sql +++ b/spring-batch-core/src/main/resources/schema-db2.sql @@ -1,5 +1,5 @@ -- Autogenerated: do not edit this file -DROP TABLE BATCH_STEP_EXECUTION_CONTEXT ; +DROP TABLE BATCH_EXECUTION_CONTEXT ; DROP TABLE BATCH_STEP_EXECUTION ; DROP TABLE BATCH_JOB_EXECUTION ; DROP TABLE BATCH_JOB_PARAMS ; @@ -63,17 +63,16 @@ CREATE TABLE BATCH_STEP_EXECUTION ( references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ) ; -CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID BIGINT NOT NULL , +CREATE TABLE BATCH_EXECUTION_CONTEXT ( + EXECUTION_ID BIGINT NOT NULL , + DISCRIMINATOR VARCHAR(1) NOT NULL , TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION , - OBJECT_VAL BLOB, - constraint STEP_EXECUTION_CONTEXT_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) + OBJECT_VAL BLOB ) ; CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ; diff --git a/spring-batch-core/src/main/resources/schema-derby.sql b/spring-batch-core/src/main/resources/schema-derby.sql index 070a58881..d58b37b3a 100644 --- a/spring-batch-core/src/main/resources/schema-derby.sql +++ b/spring-batch-core/src/main/resources/schema-derby.sql @@ -1,5 +1,5 @@ -- Autogenerated: do not edit this file -DROP TABLE BATCH_STEP_EXECUTION_CONTEXT ; +DROP TABLE BATCH_EXECUTION_CONTEXT ; DROP TABLE BATCH_STEP_EXECUTION ; DROP TABLE BATCH_JOB_EXECUTION ; DROP TABLE BATCH_JOB_PARAMS ; @@ -63,17 +63,16 @@ CREATE TABLE BATCH_STEP_EXECUTION ( references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ) ; -CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID BIGINT NOT NULL , +CREATE TABLE BATCH_EXECUTION_CONTEXT ( + EXECUTION_ID BIGINT NOT NULL , + DISCRIMINATOR VARCHAR(1) NOT NULL , TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION , - OBJECT_VAL BLOB, - constraint STEP_EXECUTION_CONTEXT_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) + OBJECT_VAL BLOB ) ; CREATE TABLE BATCH_STEP_EXECUTION_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1)); diff --git a/spring-batch-core/src/main/resources/schema-hsqldb.sql b/spring-batch-core/src/main/resources/schema-hsqldb.sql index 7f163f1d3..aa7dc9386 100644 --- a/spring-batch-core/src/main/resources/schema-hsqldb.sql +++ b/spring-batch-core/src/main/resources/schema-hsqldb.sql @@ -1,5 +1,5 @@ -- Autogenerated: do not edit this file -DROP TABLE BATCH_STEP_EXECUTION_CONTEXT IF EXISTS; +DROP TABLE BATCH_EXECUTION_CONTEXT IF EXISTS; DROP TABLE BATCH_STEP_EXECUTION IF EXISTS; DROP TABLE BATCH_JOB_EXECUTION IF EXISTS; DROP TABLE BATCH_JOB_PARAMS IF EXISTS; @@ -63,17 +63,16 @@ CREATE TABLE BATCH_STEP_EXECUTION ( references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ) ; -CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID BIGINT NOT NULL , +CREATE TABLE BATCH_EXECUTION_CONTEXT ( + EXECUTION_ID BIGINT NOT NULL , + DISCRIMINATOR VARCHAR(1) NOT NULL , TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION , - OBJECT_VAL LONGVARBINARY, - constraint STEP_EXECUTION_CONTEXT_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) + OBJECT_VAL LONGVARBINARY ) ; CREATE TABLE BATCH_STEP_EXECUTION_SEQ ( diff --git a/spring-batch-core/src/main/resources/schema-mysql.sql b/spring-batch-core/src/main/resources/schema-mysql.sql index 8c7a17d75..b9a9f86e7 100644 --- a/spring-batch-core/src/main/resources/schema-mysql.sql +++ b/spring-batch-core/src/main/resources/schema-mysql.sql @@ -1,5 +1,5 @@ -- Autogenerated: do not edit this file -DROP TABLE IF EXISTS BATCH_STEP_EXECUTION_CONTEXT ; +DROP TABLE IF EXISTS BATCH_EXECUTION_CONTEXT ; DROP TABLE IF EXISTS BATCH_STEP_EXECUTION ; DROP TABLE IF EXISTS BATCH_JOB_EXECUTION ; DROP TABLE IF EXISTS BATCH_JOB_PARAMS ; @@ -63,17 +63,16 @@ CREATE TABLE BATCH_STEP_EXECUTION ( references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ) type=InnoDB; -CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID BIGINT NOT NULL , +CREATE TABLE BATCH_EXECUTION_CONTEXT ( + EXECUTION_ID BIGINT NOT NULL , + DISCRIMINATOR VARCHAR(1) NOT NULL , TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , DATE_VAL DATETIME DEFAULT NULL , LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION , - OBJECT_VAL BLOB, - constraint STEP_EXECUTION_CONTEXT_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) + OBJECT_VAL BLOB ) type=InnoDB; CREATE TABLE BATCH_STEP_EXECUTION_SEQ (ID BIGINT NOT NULL) type=MYISAM; diff --git a/spring-batch-core/src/main/resources/schema-oracle10g.sql b/spring-batch-core/src/main/resources/schema-oracle10g.sql index f66d99467..a92949d07 100644 --- a/spring-batch-core/src/main/resources/schema-oracle10g.sql +++ b/spring-batch-core/src/main/resources/schema-oracle10g.sql @@ -1,5 +1,5 @@ -- Autogenerated: do not edit this file -DROP TABLE BATCH_STEP_EXECUTION_CONTEXT ; +DROP TABLE BATCH_EXECUTION_CONTEXT ; DROP TABLE BATCH_STEP_EXECUTION ; DROP TABLE BATCH_JOB_EXECUTION ; DROP TABLE BATCH_JOB_PARAMS ; @@ -63,17 +63,16 @@ CREATE TABLE BATCH_STEP_EXECUTION ( references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ) ; -CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID NUMBER(38) NOT NULL , +CREATE TABLE BATCH_EXECUTION_CONTEXT ( + EXECUTION_ID NUMBER(38) NOT NULL , + DISCRIMINATOR VARCHAR2(1) NOT NULL , TYPE_CD VARCHAR2(6) NOT NULL , KEY_NAME VARCHAR2(1000) NOT NULL , STRING_VAL VARCHAR2(1000) , DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL NUMBER(38) , DOUBLE_VAL NUMBER , - OBJECT_VAL BLOB, - constraint STEP_EXECUTION_CONTEXT_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) + OBJECT_VAL BLOB ) ; CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ; diff --git a/spring-batch-core/src/main/resources/schema-postgresql.sql b/spring-batch-core/src/main/resources/schema-postgresql.sql index f4286f0fa..969f4acee 100644 --- a/spring-batch-core/src/main/resources/schema-postgresql.sql +++ b/spring-batch-core/src/main/resources/schema-postgresql.sql @@ -1,5 +1,5 @@ -- Autogenerated: do not edit this file -DROP TABLE BATCH_STEP_EXECUTION_CONTEXT ; +DROP TABLE BATCH_EXECUTION_CONTEXT ; DROP TABLE BATCH_STEP_EXECUTION ; DROP TABLE BATCH_JOB_EXECUTION ; DROP TABLE BATCH_JOB_PARAMS ; @@ -63,17 +63,16 @@ CREATE TABLE BATCH_STEP_EXECUTION ( references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ) ; -CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID BIGINT NOT NULL , +CREATE TABLE BATCH_EXECUTION_CONTEXT ( + EXECUTION_ID BIGINT NOT NULL , + DISCRIMINATOR VARCHAR(1) NOT NULL , TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION , - OBJECT_VAL BYTEA, - constraint STEP_EXECUTION_CONTEXT_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) + OBJECT_VAL BYTEA ) ; CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ; diff --git a/spring-batch-core/src/main/sql/destroy.sql.vpp b/spring-batch-core/src/main/sql/destroy.sql.vpp index a256480e4..d7aea074c 100644 --- a/spring-batch-core/src/main/sql/destroy.sql.vpp +++ b/spring-batch-core/src/main/sql/destroy.sql.vpp @@ -1,5 +1,5 @@ -- Autogenerated: do not edit this file -DROP TABLE $!{IFEXISTSBEFORE} BATCH_STEP_EXECUTION_CONTEXT $!{IFEXISTS}; +DROP TABLE $!{IFEXISTSBEFORE} BATCH_EXECUTION_CONTEXT $!{IFEXISTS}; DROP TABLE $!{IFEXISTSBEFORE} BATCH_STEP_EXECUTION $!{IFEXISTS}; DROP TABLE $!{IFEXISTSBEFORE} BATCH_JOB_EXECUTION $!{IFEXISTS}; DROP TABLE $!{IFEXISTSBEFORE} BATCH_JOB_PARAMS $!{IFEXISTS}; diff --git a/spring-batch-core/src/main/sql/init.sql.vpp b/spring-batch-core/src/main/sql/init.sql.vpp index 946166014..17078387c 100644 --- a/spring-batch-core/src/main/sql/init.sql.vpp +++ b/spring-batch-core/src/main/sql/init.sql.vpp @@ -52,17 +52,16 @@ CREATE TABLE BATCH_STEP_EXECUTION ( references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID) ) $!{VOODOO}; -CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( - STEP_EXECUTION_ID ${BIGINT} NOT NULL , +CREATE TABLE BATCH_EXECUTION_CONTEXT ( + EXECUTION_ID ${BIGINT} NOT NULL , + DISCRIMINATOR ${VARCHAR}(1) NOT NULL , TYPE_CD ${VARCHAR}(6) NOT NULL , KEY_NAME ${VARCHAR}(1000) NOT NULL , STRING_VAL ${VARCHAR}(1000) , DATE_VAL ${TIMESTAMP} DEFAULT NULL , LONG_VAL ${BIGINT} , DOUBLE_VAL ${DOUBLE} , - OBJECT_VAL ${BLOB}, - constraint STEP_EXECUTION_CONTEXT_FK foreign key (STEP_EXECUTION_ID) - references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID) + OBJECT_VAL ${BLOB} ) $!{VOODOO}; #sequence( "BATCH_STEP_EXECUTION_SEQ" ) diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDaoTests.java index 22a17716f..2fb460430 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDaoTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobExecutionDaoTests.java @@ -3,7 +3,7 @@ package org.springframework.batch.core.repository.dao; public class JdbcJobExecutionDaoTests extends AbstractJobExecutionDaoTests { protected JobExecutionDao getJobExecutionDao() { - deleteFromTables(new String[] { "BATCH_STEP_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", "BATCH_JOB_EXECUTION", + deleteFromTables(new String[] { "BATCH_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", "BATCH_JOB_EXECUTION", "BATCH_JOB_PARAMS", "BATCH_JOB_INSTANCE" }); // job instance needs to exist before job execution can be created diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDaoTests.java index 68bde449f..02ef9f762 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDaoTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDaoTests.java @@ -4,7 +4,7 @@ package org.springframework.batch.core.repository.dao; public class JdbcJobInstanceDaoTests extends AbstractJobInstanceDaoTests { protected JobInstanceDao getJobInstanceDao() { - deleteFromTables(new String[] { "BATCH_STEP_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", "BATCH_JOB_EXECUTION", + deleteFromTables(new String[] { "BATCH_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", "BATCH_JOB_EXECUTION", "BATCH_JOB_PARAMS", "BATCH_JOB_INSTANCE" }); return (JobInstanceDao) getApplicationContext().getBean("jobInstanceDao"); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDaoTests.java index 611ceba7f..c623ed296 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDaoTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDaoTests.java @@ -11,7 +11,7 @@ public class JdbcStepExecutionDaoTests extends AbstractStepExecutionDaoTests { } protected JobRepository getJobRepository() { - deleteFromTables(new String[] { "BATCH_STEP_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", "BATCH_JOB_EXECUTION", + deleteFromTables(new String[] { "BATCH_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", "BATCH_JOB_EXECUTION", "BATCH_JOB_PARAMS", "BATCH_JOB_INSTANCE" }); return (JobRepository) getApplicationContext().getBean("jobRepository"); } diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java index 9ca4b8464..a5ccfbf3f 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java @@ -44,7 +44,7 @@ public class JdbcJobRepositoryTests extends AbstractTransactionalDataSourceSprin protected void onSetUpBeforeTransaction() throws Exception { startNewTransaction(); - getJdbcTemplate().update("DELETE FROM BATCH_STEP_EXECUTION_CONTEXT"); + getJdbcTemplate().update("DELETE FROM BATCH_EXECUTION_CONTEXT"); getJdbcTemplate().update("DELETE FROM BATCH_STEP_EXECUTION"); getJdbcTemplate().update("DELETE FROM BATCH_JOB_EXECUTION"); getJdbcTemplate().update("DELETE FROM BATCH_JOB_PARAMS");