IN PROGRESS - BATCH-505: Job-level ExecutionContext

the schema change
This commit is contained in:
robokaso
2008-05-22 09:01:24 +00:00
parent 4c73946232
commit 5dea8a0144
13 changed files with 44 additions and 51 deletions

View File

@@ -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 = ?, "

View File

@@ -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;

View File

@@ -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));

View File

@@ -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 (

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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};

View File

@@ -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" )

View File

@@ -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

View File

@@ -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");
}

View File

@@ -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");
}

View File

@@ -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");