[ 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
