You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@continuum.apache.org by Marica Tan <ma...@gmail.com> on 2009/03/23 04:15:15 UTC

Upgrade builds database from Continuum 1.2.x to 1.3.x

Model changes from Continuum 1.2.x to 1.3.x:
1.  added new class ProjectScmRoot

2.  added new field in ProjectNotifier
     a. sendOnScmFailure: boolean

3.  added new field in ContinuumDatabase
     a. projectScmRoots: List<ProjectScmRoot>

4.  added new class BuildQueue

5.  added new fields in BuildResult
     a. lastChangedDate: long
     b. buildUrl: String

6.  added new field in Profile
     a. buildAgentGroup: String

7.  added new field in SystemConfiguration
     a. numberOfBuildsInParallel: int
     b. distributedBuildEnabled: boolean

8.  added new field in Schedule
     a. buildQueues: List<BuildQueue>

I added default values on most of the fields and initially set
jpox.null-value="default" in the distributedBuildEnabled and
sendOnScmFailure fields but causes error in MySQL so I removed them.

*Using Derby
*
A. without jpox.null-value="default"
- was able to start builds database and users database
- was able to upgrade users database without using data migration tool
- wasn't able to upgrade builds database without using data migration tool

2009-03-23 08:01:11,219 [WrapperSimpleAppMain] ERROR JPOX.RDBMS  - Error
thrown executing ALTER TABLE SYSTEMCONFIGURATION ADD
DISTRIBUTED_BUILD_ENABLED CHAR(1) NOT NULL CHECK (DISTRIBUTED_BUILD_ENABLED
IN ('Y','N')) : In an ALTER TABLE statement, the column
'DISTRIBUTED_BUILD_ENABLED' has been specified as NOT NULL and either the
DEFAULT clause was not specified or was specified as DEFAULT NULL.
ERROR 42601: In an ALTER TABLE statement, the column
'DISTRIBUTED_BUILD_ENABLED' has been specified as NOT NULL and either the
DEFAULT clause was not specified or was specified as DEFAULT NULL

B. with jpox.null-value="default"
 - was able to start users and builds database
 - was able to upgrade users database without using data migration tool
 - wasn't able to upgrade builds database without using data migration tool

2009-03-23 11:09:18,087 [WrapperSimpleAppMain] ERROR JPOX.RDBMS  - Error
thrown executing ALTER TABLE SYSTEMCONFIGURATION ADD
DISTRIBUTED_BUILD_ENABLED CHAR(1) DEFAULT 'false' CHECK
(DISTRIBUTED_BUILD_ENABLED IN ('Y','N')) : A truncation error was
encountered trying to shrink CHAR 'false' to length 1.
ERROR 22001: A truncation error was encountered trying to shrink CHAR
'false' to length 1.



*Using MySQL*

A. without jpox.null-value="default"
- was able to start users and builds database
- was able to upgrade users database without using data migration tool
- was able to upgrade builds database without using data migration tool

B. with jpox.null-value="default"
- was able to start users database
- wasn't able to start and upgrade builds database at all

2009-03-22 08:22:25,924 [WrapperSimpleAppMain] ERROR JPOX.RDBMS  - Error
thrown executing CREATE TABLE `PROJECTNOTIFIER`
(
    `ID` INTEGER NOT NULL,
    `ENABLED` BIT NOT NULL,
    `NOTIFIERORIGIN` INTEGER NOT NULL,
    `MODEL_ENCODING` VARCHAR(255) BINARY NULL,
    `RECIPIENT_TYPE` INTEGER NOT NULL,
    `SEND_ON_ERROR` BIT NOT NULL,
    `SEND_ON_FAILURE` BIT NOT NULL,
    `SEND_ON_SCM_FAILURE` BIT NOT NULL DEFAULT 'false',
    `SEND_ON_SUCCESS` BIT NOT NULL,
    `SEND_ON_WARNING` BIT NOT NULL,
    `NOTIFIERTYPE` VARCHAR(255) BINARY NULL,
    PRIMARY KEY (`ID`)
) ENGINE=INNODB : Invalid default value for 'SEND_ON_SCM_FAILURE'
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Invalid default value
for 'SEND_ON_SCM_FAILURE'

- wasnt' able to upgrade builds database using data migration tool ( same
error as above )


Thanks
--
Marica

Re: Upgrade builds database from Continuum 1.2.x to 1.3.x

Posted by Brett Porter <br...@apache.org>.
Looks like in both cases there is a problem with mapping booleans that  
we might need to investigate. Derby wants 'N', MySQL wants '0', in  
both cases we are giving them 'false' instead of the mapped value for  
false.

- Brett

On 23/03/2009, at 2:15 PM, Marica Tan wrote:

> Model changes from Continuum 1.2.x to 1.3.x:
> 1.  added new class ProjectScmRoot
>
> 2.  added new field in ProjectNotifier
>     a. sendOnScmFailure: boolean
>
> 3.  added new field in ContinuumDatabase
>     a. projectScmRoots: List<ProjectScmRoot>
>
> 4.  added new class BuildQueue
>
> 5.  added new fields in BuildResult
>     a. lastChangedDate: long
>     b. buildUrl: String
>
> 6.  added new field in Profile
>     a. buildAgentGroup: String
>
> 7.  added new field in SystemConfiguration
>     a. numberOfBuildsInParallel: int
>     b. distributedBuildEnabled: boolean
>
> 8.  added new field in Schedule
>     a. buildQueues: List<BuildQueue>
>
> I added default values on most of the fields and initially set
> jpox.null-value="default" in the distributedBuildEnabled and
> sendOnScmFailure fields but causes error in MySQL so I removed them.
>
> *Using Derby
> *
> A. without jpox.null-value="default"
> - was able to start builds database and users database
> - was able to upgrade users database without using data migration tool
> - wasn't able to upgrade builds database without using data  
> migration tool
>
> 2009-03-23 08:01:11,219 [WrapperSimpleAppMain] ERROR JPOX.RDBMS  -  
> Error
> thrown executing ALTER TABLE SYSTEMCONFIGURATION ADD
> DISTRIBUTED_BUILD_ENABLED CHAR(1) NOT NULL CHECK  
> (DISTRIBUTED_BUILD_ENABLED
> IN ('Y','N')) : In an ALTER TABLE statement, the column
> 'DISTRIBUTED_BUILD_ENABLED' has been specified as NOT NULL and  
> either the
> DEFAULT clause was not specified or was specified as DEFAULT NULL.
> ERROR 42601: In an ALTER TABLE statement, the column
> 'DISTRIBUTED_BUILD_ENABLED' has been specified as NOT NULL and  
> either the
> DEFAULT clause was not specified or was specified as DEFAULT NULL
>
> B. with jpox.null-value="default"
> - was able to start users and builds database
> - was able to upgrade users database without using data migration tool
> - wasn't able to upgrade builds database without using data  
> migration tool
>
> 2009-03-23 11:09:18,087 [WrapperSimpleAppMain] ERROR JPOX.RDBMS  -  
> Error
> thrown executing ALTER TABLE SYSTEMCONFIGURATION ADD
> DISTRIBUTED_BUILD_ENABLED CHAR(1) DEFAULT 'false' CHECK
> (DISTRIBUTED_BUILD_ENABLED IN ('Y','N')) : A truncation error was
> encountered trying to shrink CHAR 'false' to length 1.
> ERROR 22001: A truncation error was encountered trying to shrink CHAR
> 'false' to length 1.
>
>
>
> *Using MySQL*
>
> A. without jpox.null-value="default"
> - was able to start users and builds database
> - was able to upgrade users database without using data migration tool
> - was able to upgrade builds database without using data migration  
> tool
>
> B. with jpox.null-value="default"
> - was able to start users database
> - wasn't able to start and upgrade builds database at all
>
> 2009-03-22 08:22:25,924 [WrapperSimpleAppMain] ERROR JPOX.RDBMS  -  
> Error
> thrown executing CREATE TABLE `PROJECTNOTIFIER`
> (
>    `ID` INTEGER NOT NULL,
>    `ENABLED` BIT NOT NULL,
>    `NOTIFIERORIGIN` INTEGER NOT NULL,
>    `MODEL_ENCODING` VARCHAR(255) BINARY NULL,
>    `RECIPIENT_TYPE` INTEGER NOT NULL,
>    `SEND_ON_ERROR` BIT NOT NULL,
>    `SEND_ON_FAILURE` BIT NOT NULL,
>    `SEND_ON_SCM_FAILURE` BIT NOT NULL DEFAULT 'false',
>    `SEND_ON_SUCCESS` BIT NOT NULL,
>    `SEND_ON_WARNING` BIT NOT NULL,
>    `NOTIFIERTYPE` VARCHAR(255) BINARY NULL,
>    PRIMARY KEY (`ID`)
> ) ENGINE=INNODB : Invalid default value for 'SEND_ON_SCM_FAILURE'
> com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Invalid default  
> value
> for 'SEND_ON_SCM_FAILURE'
>
> - wasnt' able to upgrade builds database using data migration tool  
> ( same
> error as above )
>
>
> Thanks
> --
> Marica

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/