db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Russell (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JDO-375) Company model tables are not fully cleaned up
Date Sun, 30 Apr 2006 18:45:38 GMT
    [ http://issues.apache.org/jira/browse/JDO-375?page=comments#action_12377175 ] 

Craig Russell commented on JDO-375:
-----------------------------------

There are several constraints that have their own names, but unfortunately not all constraints
are named.

But it looks like the only unnamed constraints on persons are the self-referencing manager,
mentor, hradvisor, and insurance. Insurance is removed first so it looks like it's a self-constraint
that is causing the problem.

This isn't an issue for persistent classes. Do you have the same strategy for deleting instances
of generated classes as you do for user classes?


> Company model tables are not fully cleaned up
> ---------------------------------------------
>
>          Key: JDO-375
>          URL: http://issues.apache.org/jira/browse/JDO-375
>      Project: JDO
>         Type: Bug

>   Components: tck20
>     Versions: JDO 2 rc1
>     Reporter: Erik Bengtson
>     Assignee: Erik Bengtson
>      Fix For: JDO 2 final
>  Attachments: JDO-375.patch
>
> Tables from company model does not appear to be clean after run.
> I can't say if this is a JPOX or TCK issue, because I did not dig into the issue.
> On second run, exceptions are like
> > 1)
> > test(org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstancesMadePersistentViaReachability)javax.jdo.JDODataStoreException:
> > Insert request failed: INSERT INTO applicationidentity0.COMPANIES
> > ("NAME",FOUNDEDDATE,ADDRID,CITY,COUNTRY,"STATE",STREET,ZIPCODE,ID,DISCRIMINATOR)
> > VALUES (?,?,?,?,?,?,?,?,?,?)
> >         at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:393)
> >         at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
> >         at org.jpox.store.StoreManager.insert(StoreManager.java:757)
> >         at
> > org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3456)
> >         at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3429)
> >         at
> > org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1150)
> >         at
> > org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1205)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstancesMadePersistentViaReachability.createObjects(GetExtentWithInstancesMadePersistentViaReachability.java:72)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstancesMadePersistentViaReachability.test(GetExtentWithInstancesMadePersistentViaReachability.java:63)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >         at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:237)
> >         at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107)
> >         at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147)
> >         at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122)
> > NestedThrowablesStackTrace:
> > ERROR 23505: The statement was aborted because it would have caused a duplicate
> > key value in a unique or primary key constraint or unique index identified by
> > 'COMPS_PK' defined on 'COMPANIES'.
> >         at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
> > Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
> > Source)
> >         at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
> >         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> >         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> >         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
> > Source)
> >         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
> >         at
> > com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:911)
> >         at
> > org.jpox.store.rdbms.ParamLoggingPreparedStatement.execute(ParamLoggingPreparedStatement.java:212)
> >         at org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:88)
> >         at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:267)
> >         at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
> >         at org.jpox.store.StoreManager.insert(StoreManager.java:757)
> >         at
> > org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3456)
> >         at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3429)
> >         at
> > org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1150)
> >         at
> > org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1205)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstancesMadePersistentViaReachability.createObjects(GetExtentWithInstancesMadePersistentViaReachability.java:72)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstancesMadePersistentViaReachability.test(GetExtentWithInstancesMadePersistentViaReachability.java:63)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >         at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:237)
> >         at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107)
> >         at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147)
> >         at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122)
> > 2)
> > test(org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclasses)javax.jdo.JDODataStoreException:
> > Insert request failed: INSERT INTO applicationidentity0.PERSONS
> > (ADDRID,CITY,COUNTRY,"STATE",STREET,ZIPCODE,FIRSTNAME,BIRTHDATE,MIDDLENAME,LASTNAME,PERSONID,DISCRIMINATOR)
> > VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
> >         at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:393)
> >         at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
> >         at org.jpox.store.StoreManager.insert(StoreManager.java:757)
> >         at
> > org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3456)
> >         at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3429)
> >         at
> > org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1150)
> >         at
> > org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1205)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclasses.createObjects(GetExtentWithSubclasses.java:86)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclasses.test(GetExtentWithSubclasses.java:73)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >         at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:237)
> >         at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107)
> >         at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147)
> >         at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122)
> > NestedThrowablesStackTrace:
> > ERROR 23505: The statement was aborted because it would have caused a duplicate
> > key value in a unique or primary key constraint or unique index identified by
> > 'EMPS_PK' defined on 'PERSONS'.
> >         at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
> > Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
> > Source)
> >         at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
> >         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> >         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> >         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
> > Source)
> >         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
> >         at
> > com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:911)
> >         at
> > org.jpox.store.rdbms.ParamLoggingPreparedStatement.execute(ParamLoggingPreparedStatement.java:212)
> >         at org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:88)
> >         at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:267)
> >         at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
> >         at org.jpox.store.StoreManager.insert(StoreManager.java:757)
> >         at
> > org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3456)
> >         at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3429)
> >         at
> > org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1150)
> >         at
> > org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1205)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclasses.createObjects(GetExtentWithSubclasses.java:86)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclasses.test(GetExtentWithSubclasses.java:73)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >         at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:237)
> >         at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107)
> >         at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147)
> >         at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122)
> > 3)
> > test(org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndInstancesNotReachable)javax.jdo.JDODataStoreException:
> > Insert request failed: INSERT INTO applicationidentity0.COMPANIES
> > ("NAME",FOUNDEDDATE,ADDRID,CITY,COUNTRY,"STATE",STREET,ZIPCODE,ID,DISCRIMINATOR)
> > VALUES (?,?,?,?,?,?,?,?,?,?)
> >         at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:393)
> >         at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
> >         at org.jpox.store.StoreManager.insert(StoreManager.java:757)
> >         at
> > org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3456)
> >         at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3429)
> >         at
> > org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1150)
> >         at
> > org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1205)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndInstancesNotReachable.createObjects(MakePersistentAndInstancesNotReachable.java:85)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndInstancesNotReachable.test(MakePersistentAndInstancesNotReachable.java:69)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >         at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:237)
> >         at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107)
> >         at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147)
> >         at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122)
> > NestedThrowablesStackTrace:
> > ERROR 23505: The statement was aborted because it would have caused a duplicate
> > key value in a unique or primary key constraint or unique index identified by
> > 'COMPS_PK' defined on 'COMPANIES'.
> >         at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
> > Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source)
> >         at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
> > Source)
> >         at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
> >         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> >         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> >         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
> > Source)
> >         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
> >         at
> > com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:911)
> >         at
> > org.jpox.store.rdbms.ParamLoggingPreparedStatement.execute(ParamLoggingPreparedStatement.java:212)
> >         at org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:88)
> >         at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:267)
> >         at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
> >         at org.jpox.store.StoreManager.insert(StoreManager.java:757)
> >         at
> > org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3456)
> >         at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3429)
> >         at
> > org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1150)
> >         at
> > org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1205)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndInstancesNotReachable.createObjects(MakePersistentAndInstancesNotReachable.java:85)
> >         at
> > org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndInstancesNotReachable.test(MakePersistentAndInstancesNotReachable.java:69)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >         at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:237)
> >         at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107)
> >         at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147)
> >         at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122)
> > FAILURES!!!
> > Error summary:
> > 001 error:  SQL Exception: The statement was aborted because it would have
> > caused a duplicate key value in a unique or primary key constraint or unique
> > index identified by 'EMPS_PK' defined on 'PERSONS'.
> > 002 errors: SQL Exception: The statement was aborted because it would have
> > caused a duplicate key value in a unique or primary key constraint or unique
> > index identified by 'COMPS_PK' defined on 'COMPANIES'.
> > derby-app-pm-junit.txt:
> >     ** Tests run: 099, Time: 032 seconds. Failures: 0, Errors: 3
> > Excluded tests: [org.apache.jdo.tck.enhancement.FieldAccessModified,
> > org.apache.jdo.tck.enhancement.ImplementsPersistenceCapable]
> >   

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


Mime
View raw message