Apache JDO Project - [jira] Updated: (JDO-392) Deletion of objects when foreign-key is

This is Interesting: Free IT Magazines  
Home > Archive > Apache JDO Project > July 2006 > [jira] Updated: (JDO-392) Deletion of objects when foreign-key is





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author [jira] Updated: (JDO-392) Deletion of objects when foreign-key is
Andy Jefferson (JIRA)

2006-07-11, 7:11 am

[ http://issues.apache.org/jira/browse/JDO-392?page=all ]

Andy Jefferson updated JDO-392:
-------------------------------

Summary: Deletion of objects when foreign-key is present : unexpected DB exceptions not handled (was: Deletion of objects when foreign-key is present : unexpected DB exceptions now handled)

> Deletion of objects when foreign-key is present : unexpected DB exceptions not handled
> --------------------------------------------------------------------------------------
>
> Key: JDO-392
> URL: http://issues.apache.org/jira/browse/JDO-392
> Project: JDO
> Type: Bug


> Components: tck20
> Versions: JDO 2 final
> Reporter: Andy Jefferson


>
> When I change JPOX to check for foreign-key constraints and when deleting an object with a FK present to just leave it to the DB to decide what to do (based on the specified FK) the DB throws exceptions. Such as
> [java] 1) test(org.apache.jdo.tck.extents.CloseAll)javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM datastoreidentity0.PERSONS WHERE DATASTORE_IDENTITY=?
> [java] at org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:274)
> [java] at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2495)
> [java] at org.jpox.store.StoreManager.delete(StoreManager.java:902)
> [java] at org.jpox.state.StateManagerImpl. internalDeletePersistent(StateManagerImp
l.java:4206)
> [java] at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4161)
> [java] at org.jpox.AbstractPersistenceManager. internalDeletePersistent(AbstractPersist
enceManager.java:1393)
> [java] at org.jpox.AbstractPersistenceManager. deletePersistent(AbstractPersistenceMana
ger.java:1404)
> [java] at org.apache.jdo.tck.extents.ExtentTest.deleteEmployee(ExtentTest.java:200)
> [java] at org.apache.jdo.tck.extents.CloseAll.test(CloseAll.java:61)
> [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [java] at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:237)
> [java] at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107)
> [java] at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147)
> [java] at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122)
> [java] NestedThrowablesStackTrace:
> [java] ERROR 23503: DELETE on table 'PERSONS' caused a violation of foreign key constraint 'PERS_MANAGER_FK' for key (885). The statement has been rolled back.
> [java] at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> [java] at org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker.doCheck(Unknown Source)
> [java] at org.apache.derby.impl.sql.execute.RISetChecker.doPKCheck(Unknown Source)
> [java] at org.apache.derby.impl.sql.execute.DeleteResultSet.runFkChecker(Unknown Source)
> [java] at org.apache.derby.impl.sql.execute.DeleteResultSet.open(Unknown Source)
> [java] at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> [java] at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> [java] at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
> [java] at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
> [java] at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:911)
> [java] at org.jpox.store.rdbms.ParamLoggingPreparedStatement.execute(ParamLoggingPreparedStatement.java:213)
> [java] at org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:88)
> [java] at org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:260)
> [java] at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2495)
> [java] at org.jpox.store.StoreManager.delete(StoreManager.java:902)
> [java] at org.jpox.state.StateManagerImpl. internalDeletePersistent(StateManagerImp
l.java:4206)
> [java] at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4161)
> [java] at org.jpox.AbstractPersistenceManager. internalDeletePersistent(AbstractPersist
enceManager.java:1393)
> [java] at org.jpox.AbstractPersistenceManager. deletePersistent(AbstractPersistenceMana
ger.java:1404)
> [java] at org.apache.jdo.tck.extents.ExtentTest.deleteEmployee(ExtentTest.java:200)
> [java] at org.apache.jdo.tck.extents.CloseAll.test(CloseAll.java:61)
> [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [java] at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:237)
> The deletion of objects should be handled by the TCK or better defined.
> Alternatively the JDO2 spec should define what a JDO impl ought to do when deletePersistent is called and the object has references to other objects via FKs. JPOX has been nulling these out until now ... so the TCK ran ok. Now that we want to rely on th

e DB FKs we find this issue so would like to know what is "expected behaviour"

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


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com