You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Craig Russell (JIRA)" <ji...@apache.org> on 2006/09/11 06:11:22 UTC

[jira] Commented: (JDO-411) Attempt to bulk-delete Employee records without nulling foreign key references from InsurancePlan

    [ http://issues.apache.org/jira/browse/JDO-411?page=comments#action_12433765 ] 
            
Craig Russell commented on JDO-411:
-----------------------------------

Looks good. 

I think your analysis is correct, and using Insurance as the candidate class solves the relationship management issues.


> Attempt to bulk-delete Employee records without nulling foreign key references from InsurancePlan
> -------------------------------------------------------------------------------------------------
>
>                 Key: JDO-411
>                 URL: http://issues.apache.org/jira/browse/JDO-411
>             Project: JDO
>          Issue Type: Bug
>          Components: tck20
>    Affects Versions: JDO 2 final
>            Reporter: Marc Prud'hommeaux
>         Assigned To: Michael Bouschen
>             Fix For: JDO 2 maintenance release 1
>
>         Attachments: DeletePersistentAll.patch, JDO-411.patch
>
>
> Multiple test cases attempt to bulk delete instances of Person. However, the Employee subclass of Person might wind up having a non-nullable foreign key reference to Insurance or another Employee (via the "mentor" field). While the defaut Derby TCK schema does not have this constraint, in order to be flexible for other databases that will enforce the foreign key by default, some effort should be made to ensure that there are no relation constraints before the bulk deletes are attempted. This can be done by adding a nullForeignKeyReferences() method that will manually make sure that the relations are nulled. See the attached patch.
> This affects the following tests:
>  org.apache.jdo.tck.query.delete.DeletePersistentAll.testNoParametersAPI
>  org.apache.jdo.tck.query.delete.DeletePersistentAll.testNoParametersSingleString
>  org.apache.jdo.tck.query.delete.DeletePersistentAll.testObjectArrayParametersAPI
>  org.apache.jdo.tck.query.delete.DeletePersistentAll.testObjectArrayParametersSingleString
>  org.apache.jdo.tck.query.delete.DeletePersistentAll.testMapParametersAPI
>  org.apache.jdo.tck.query.delete.DeletePersistentAll.testMapParametersSingleString
>  org.apache.jdo.tck.query.delete.DeleteQueryElements.testAPI
>  org.apache.jdo.tck.query.delete.DeleteQueryElements.testSingleString

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