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 Michael Watzek <mw...@spree.de> on 2006/01/27 15:37:24 UTC

Bug in latest JPOX snapshot

Hi Andy, Erik

when I run the TCK in trunk/tck20 with the latest JPOX snapshot, I get 
an unexpected result for inheritance1 with datastoreidentity (see 
below): JPOX throws a JDODataStoreException in tearDown because there is 
a FK constraint violation on table 'persons'. I do not see this problem 
using JPOX snapshot 01/24/2006 4:40 AM (MEZ). Maybe there is a bug wrt 
inheritance in the latest snapshot?

Regards,
Michael

javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM 
datastoreidentity1.PERSONS WHERE DATASTORE_IDENTITY=?
	at 
org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:253)
	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2170)
	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2175)
	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2175)
	at org.jpox.store.StoreManager.delete(StoreManager.java:794)
	at 
org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4010)
	at 
org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:3966)
	at 
org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1342)
	at 
org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1380)
	at org.apache.jdo.tck.JDO_Test.deleteTearDownClasses(JDO_Test.java:396)
	at org.apache.jdo.tck.JDO_Test.localTearDown(JDO_Test.java:318)
	at org.apache.jdo.tck.JDO_Test.tearDown(JDO_Test.java:287)
	at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:234)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at junit.textui.TestRunner.doRun(TestRunner.java:116)
	at junit.textui.TestRunner.doRun(TestRunner.java:109)
	at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
	at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)
NestedThrowablesStackTrace:
ERROR 23503: DELETE on table 'PERSONS' caused a violation of foreign key 
constraint 'SQL060127010242262' for key (3).  The statement has been 
rolled back.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown 
Source)
	at 
org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker.doCheck(Unknown 
Source)
	at org.apache.derby.impl.sql.execute.RISetChecker.doPKCheck(Unknown Source)
	at 
org.apache.derby.impl.sql.execute.DeleteResultSet.collectAffectedRows(Unknown 
Source)
	at org.apache.derby.impl.sql.execute.DeleteResultSet.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.request.Request.executeUpdate(Request.java:69)
	at 
org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:239)
	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2170)
	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2175)
	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2175)
	at org.jpox.store.StoreManager.delete(StoreManager.java:794)
	at 
org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4010)
	at 
org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:3966)
	at 
org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1342)
	at 
org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1380)
	at org.apache.jdo.tck.JDO_Test.deleteTearDownClasses(JDO_Test.java:396)
	at org.apache.jdo.tck.JDO_Test.localTearDown(JDO_Test.java:318)
	at org.apache.jdo.tck.JDO_Test.tearDown(JDO_Test.java:287)
	at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:234)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at junit.textui.TestRunner.doRun(TestRunner.java:116)
	at junit.textui.TestRunner.doRun(TestRunner.java:109)
	at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
	at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)
-- 
-------------------------------------------------------------------
Michael Watzek                  Tech@Spree Engineering GmbH
mailto:mwa.tech@spree.de        Buelowstr. 66
Tel.:  ++49/30/235 520 36       10783 Berlin - Germany
Fax.:  ++49/30/217 520 12       http://www.spree.de/
-------------------------------------------------------------------

Re: Bug in latest JPOX snapshot

Posted by Jörg von Frantzius <jo...@artnology.com>.
Hi Michael,

this is due to a change I committed yesterday, sorry that's my fault. 
I'll try to fix it for tonight's build.
JPOX is internally referring to FieldMetaData.isDependent() in places 
where it shouldn't, and I had "fixed" FieldMetaData.isDependent() not to 
return true by default for collection fields.

Regards,
Jörg

Michael Watzek schrieb:
> Hi Andy, Erik
>
> when I run the TCK in trunk/tck20 with the latest JPOX snapshot, I get 
> an unexpected result for inheritance1 with datastoreidentity (see 
> below): JPOX throws a JDODataStoreException in tearDown because there 
> is a FK constraint violation on table 'persons'. I do not see this 
> problem using JPOX snapshot 01/24/2006 4:40 AM (MEZ). Maybe there is a 
> bug wrt inheritance in the latest snapshot?
>
> Regards,
> Michael
>
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM 
> datastoreidentity1.PERSONS WHERE DATASTORE_IDENTITY=?
>     at 
> org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:253) 
>
>     at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2170)
>     at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2175)
>     at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2175)
>     at org.jpox.store.StoreManager.delete(StoreManager.java:794)
>     at 
> org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4010) 
>
>     at 
> org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:3966) 
>
>     at 
> org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1342) 
>
>     at 
> org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1380) 
>
>     at 
> org.apache.jdo.tck.JDO_Test.deleteTearDownClasses(JDO_Test.java:396)
>     at org.apache.jdo.tck.JDO_Test.localTearDown(JDO_Test.java:318)
>     at org.apache.jdo.tck.JDO_Test.tearDown(JDO_Test.java:287)
>     at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:234)
>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>     at junit.framework.TestResult.run(TestResult.java:109)
>     at junit.framework.TestCase.run(TestCase.java:118)
>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>     at junit.framework.TestSuite.run(TestSuite.java:203)
>     at junit.textui.TestRunner.doRun(TestRunner.java:116)
>     at junit.textui.TestRunner.doRun(TestRunner.java:109)
>     at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
>     at 
> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)
> NestedThrowablesStackTrace:
> ERROR 23503: DELETE on table 'PERSONS' caused a violation of foreign 
> key constraint 'SQL060127010242262' for key (3).  The statement has 
> been rolled back.
>     at 
> org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>     at 
> org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker.doCheck(Unknown 
> Source)
>     at 
> org.apache.derby.impl.sql.execute.RISetChecker.doPKCheck(Unknown Source)
>     at 
> org.apache.derby.impl.sql.execute.DeleteResultSet.collectAffectedRows(Unknown 
> Source)
>     at org.apache.derby.impl.sql.execute.DeleteResultSet.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.request.Request.executeUpdate(Request.java:69)
>     at 
> org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:239) 
>
>     at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2170)
>     at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2175)
>     at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2175)
>     at org.jpox.store.StoreManager.delete(StoreManager.java:794)
>     at 
> org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4010) 
>
>     at 
> org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:3966) 
>
>     at 
> org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1342) 
>
>     at 
> org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1380) 
>
>     at 
> org.apache.jdo.tck.JDO_Test.deleteTearDownClasses(JDO_Test.java:396)
>     at org.apache.jdo.tck.JDO_Test.localTearDown(JDO_Test.java:318)
>     at org.apache.jdo.tck.JDO_Test.tearDown(JDO_Test.java:287)
>     at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:234)
>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>     at junit.framework.TestResult.run(TestResult.java:109)
>     at junit.framework.TestCase.run(TestCase.java:118)
>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>     at junit.framework.TestSuite.run(TestSuite.java:203)
>     at junit.textui.TestRunner.doRun(TestRunner.java:116)
>     at junit.textui.TestRunner.doRun(TestRunner.java:109)
>     at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
>     at 
> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)


-- 
__________________________________________________________
Dipl.-Inf. Jörg von Frantzius  |            artnology GmbH
                               |                Milastr. 4
Tel +49 (0)30 4435 099 26      |              10437 Berlin
Fax +49 (0)30 4435 099 99      |  http://www.artnology.com
_______________________________|__________________________