Hi, thanks for the files. I could successfully run the tck twice with the attached jars.
Good job! Regards Michael > [ http://issues.apache.org/jira/browse/JDO-375?page=all ] > > Andy Jefferson updated JDO-375: > ------------------------------- > > Attachment: jpox-enhancer-SNAPSHOT.jar > jpox-SNAPSHOT.jar > > Attached are jars built from JPOX CVS HEAD. I can confirm the fix works and > have run the complete TCK twice through with success. Good work! > >> 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-2.patch, JDO-375-fknames.patch, JDO-375.patch, >> jpox-SNAPSHOT.jar, jpox-enhancer-SNAPSHOT.jar >> >> 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] >>> > -- Michael Bouschen [EMAIL PROTECTED] Engineering GmbH mailto:[EMAIL PROTECTED] http://www.tech.spree.de/ Tel.:++49/30/235 520-33 Buelowstr. 66 Fax.:++49/30/2175 2012 D-10783 Berlin
