From 4f0cb707cbd1d6eabcd1897c8ed2d0b07b48134d Mon Sep 17 00:00:00 2001 From: robokaso Date: Mon, 31 Mar 2008 13:43:48 +0000 Subject: [PATCH] RESOLVED - issue BATCH-528: Inserting non-date JobParameter fails on MySQL TIMESTAMP externalized as property with DATETIME value for MySQL --- .../src/main/resources/schema-mysql.sql | 12 ++++++------ spring-batch-core/src/main/sql/db2.properties | 1 + spring-batch-core/src/main/sql/derby.properties | 1 + spring-batch-core/src/main/sql/hsqldb.properties | 1 + spring-batch-core/src/main/sql/init.sql.vpp | 12 ++++++------ spring-batch-core/src/main/sql/mysql.properties | 1 + spring-batch-core/src/main/sql/oracle10g.properties | 1 + spring-batch-core/src/main/sql/postgresql.properties | 1 + 8 files changed, 18 insertions(+), 12 deletions(-) diff --git a/spring-batch-core/src/main/resources/schema-mysql.sql b/spring-batch-core/src/main/resources/schema-mysql.sql index e28c17980..8d0af37e3 100644 --- a/spring-batch-core/src/main/resources/schema-mysql.sql +++ b/spring-batch-core/src/main/resources/schema-mysql.sql @@ -21,8 +21,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID BIGINT PRIMARY KEY , VERSION BIGINT, JOB_INSTANCE_ID BIGINT NOT NULL, - START_TIME TIMESTAMP DEFAULT NULL, - END_TIME TIMESTAMP DEFAULT NULL, + START_TIME DATETIME DEFAULT NULL, + END_TIME DATETIME DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -36,7 +36,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP DEFAULT NULL, + DATE_VAL DATETIME DEFAULT NULL, LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -48,8 +48,8 @@ CREATE TABLE BATCH_STEP_EXECUTION ( VERSION BIGINT NOT NULL, STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID BIGINT NOT NULL, - START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP DEFAULT NULL, + START_TIME DATETIME NOT NULL , + END_TIME DATETIME DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT BIGINT , ITEM_COUNT BIGINT , @@ -65,7 +65,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP DEFAULT NULL , + DATE_VAL DATETIME DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL DOUBLE PRECISION , OBJECT_VAL BLOB, diff --git a/spring-batch-core/src/main/sql/db2.properties b/spring-batch-core/src/main/sql/db2.properties index e667f21b8..367d1fd83 100644 --- a/spring-batch-core/src/main/sql/db2.properties +++ b/spring-batch-core/src/main/sql/db2.properties @@ -4,5 +4,6 @@ BIGINT = BIGINT IDENTITY = DOUBLE = DOUBLE PRECISION BLOB = BLOB +TIMESTAMP = TIMESTAMP # for generating drop statements... SEQUENCE = SEQUENCE diff --git a/spring-batch-core/src/main/sql/derby.properties b/spring-batch-core/src/main/sql/derby.properties index 562b02321..2e0382cb0 100644 --- a/spring-batch-core/src/main/sql/derby.properties +++ b/spring-batch-core/src/main/sql/derby.properties @@ -5,5 +5,6 @@ IDENTITY = GENERATED = GENERATED BY DEFAULT AS IDENTITY DOUBLE = DOUBLE PRECISION BLOB = BLOB +TIMESTAMP = TIMESTAMP # for generating drop statements... SEQUENCE = TABLE diff --git a/spring-batch-core/src/main/sql/hsqldb.properties b/spring-batch-core/src/main/sql/hsqldb.properties index 18c45fd0d..940445db8 100644 --- a/spring-batch-core/src/main/sql/hsqldb.properties +++ b/spring-batch-core/src/main/sql/hsqldb.properties @@ -5,5 +5,6 @@ IDENTITY = IDENTITY IFEXISTS = IF EXISTS DOUBLE = DOUBLE PRECISION BLOB = LONGVARBINARY +TIMESTAMP = TIMESTAMP # for generating drop statements... SEQUENCE = TABLE diff --git a/spring-batch-core/src/main/sql/init.sql.vpp b/spring-batch-core/src/main/sql/init.sql.vpp index d51ee1827..1feb8b4e2 100644 --- a/spring-batch-core/src/main/sql/init.sql.vpp +++ b/spring-batch-core/src/main/sql/init.sql.vpp @@ -10,8 +10,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID ${BIGINT} $!{IDENTITY} PRIMARY KEY $!{GENERATED}, VERSION ${BIGINT}, JOB_INSTANCE_ID ${BIGINT} NOT NULL, - START_TIME TIMESTAMP DEFAULT NULL, - END_TIME TIMESTAMP DEFAULT NULL, + START_TIME ${TIMESTAMP} DEFAULT NULL, + END_TIME ${TIMESTAMP} DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -25,7 +25,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP DEFAULT NULL, + DATE_VAL ${TIMESTAMP} DEFAULT NULL, LONG_VAL ${BIGINT} , DOUBLE_VAL ${DOUBLE}, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -37,8 +37,8 @@ CREATE TABLE BATCH_STEP_EXECUTION ( VERSION ${BIGINT} NOT NULL, STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID ${BIGINT} NOT NULL, - START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP DEFAULT NULL, + START_TIME ${TIMESTAMP} NOT NULL , + END_TIME ${TIMESTAMP} DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT ${BIGINT} , ITEM_COUNT ${BIGINT} , @@ -54,7 +54,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP DEFAULT NULL , + DATE_VAL ${TIMESTAMP} DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL ${DOUBLE} , OBJECT_VAL ${BLOB}, diff --git a/spring-batch-core/src/main/sql/mysql.properties b/spring-batch-core/src/main/sql/mysql.properties index 6aacb77e7..54601934b 100644 --- a/spring-batch-core/src/main/sql/mysql.properties +++ b/spring-batch-core/src/main/sql/mysql.properties @@ -7,5 +7,6 @@ VOODOO = type=InnoDB IFEXISTSBEFORE = IF EXISTS DOUBLE = DOUBLE PRECISION BLOB = BLOB +TIMESTAMP = DATETIME # for generating drop statements... SEQUENCE = TABLE diff --git a/spring-batch-core/src/main/sql/oracle10g.properties b/spring-batch-core/src/main/sql/oracle10g.properties index 8642f67c1..97e7390f3 100644 --- a/spring-batch-core/src/main/sql/oracle10g.properties +++ b/spring-batch-core/src/main/sql/oracle10g.properties @@ -5,5 +5,6 @@ IDENTITY = GENERATED = DOUBLE = DOUBLE PRECISION BLOB = BLOB +TIMESTAMP = TIMESTAMP # for generating drop statements... SEQUENCE = SEQUENCE diff --git a/spring-batch-core/src/main/sql/postgresql.properties b/spring-batch-core/src/main/sql/postgresql.properties index 236e3de72..568c97c6b 100644 --- a/spring-batch-core/src/main/sql/postgresql.properties +++ b/spring-batch-core/src/main/sql/postgresql.properties @@ -5,5 +5,6 @@ IDENTITY = GENERATED = DOUBLE = DOUBLE PRECISION BLOB = BYTEA +TIMESTAMP = TIMESTAMP # for generating drop statements... SEQUENCE = SEQUENCE