db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Fischer (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (TORQUE-32) Native id-method columns in hsqldb start with 0
Date Wed, 21 Jun 2006 21:17:30 GMT
     [ http://issues.apache.org/jira/browse/TORQUE-32?page=all ]
     
Thomas Fischer resolved TORQUE-32:
----------------------------------

    Fix Version: 3.2.1
     Resolution: Fixed

The problem is already resolved in SVN, however, the patch was not used as is. The problem
with the attached patch was that it did not allow not-nullable primary keys for HSQLDB, which
is perfectly possible. Instead, the not null clause was moved to the correct position for
HSQLDB by adding the createNotNullBeforeAutoincrement() method in the Platform interface.
There are still some problems in the test project with creating tables, but these are nit
because of this issues, but because autoincrement not being possible for certain data types.

> Native id-method columns in hsqldb start with 0
> -----------------------------------------------
>
>          Key: TORQUE-32
>          URL: http://issues.apache.org/jira/browse/TORQUE-32
>      Project: Torque
>         Type: Bug

>   Components: Generator
>  Environment: Any.
>     Reporter: Scott Eade
>     Assignee: Thomas Fischer
>     Priority: Minor
>      Fix For: 3.2.1
>  Attachments: Column.java.patch, HypersonicDomainTest.java.patch, Platform.java.patch,
PlatformDefaultImpl.java.patch, PlatformHypersonicImpl.java.patch
>
> Using hsqldb with id-method native columns creates columns defined with the constraint
"IDENTITY". This generated an index starting with 0. As Torque regards objects with an primary
key 0 as not initialized, this can lead to problems when using relationships between tables.

> To prevent this I've patched the generated string from "IDENTITY" to "GENERATED BY DEFAULT
AS IDENTITY (STARTING WITH 0)".
> This broke the created SQL for hsqldb tables since Torque preprends the String "NOT NULL"
in front of the identity string. hsqldb does not allow this.
> To change this I've patched the interface org.apache.torque.engine.platform.Platform
and added a method "public getNullString(Column col)" since the PlatformHypersonicImpl needed
to know if the column is a not null and if the column uses the native id-method. The default
implementation of Platform delegates the call of this method to the former existing one. Only
the hsqldb implementation uses more than the property notNull of the column.
> The new method is now used getSqlString of class Column.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org


Mime
View raw message