Whoops, I forgot that you can commit. I just did it. Sorry about
that. I hope everyone is happy with the fix.
-- Michelle
Michael Bouschen wrote:
Hi Michelle,
I can check it in myself. I just send out the patch that you have the
chance to look at it before I check it in.
Regards Michael
Okay, I will check it in and file the JIRA issue. Thanks!
-- Michelle
Michael Bouschen wrote:
Hi Michelle,
yes, I see the same exception on my side. I have the feeling this
might be a JPOX problem, which is now exposed because with the patch
the test uses more instances from the xml. I would like to check in
the patch first and then file a new JIRA issue for that. W/o the
patch the JPOX guys have no chance to reproduce the problem.
Regards Michael
Hi Michael,
This looks really good (10 failures/50 errors now, was 8 failures
63 errors for appid on alltests.conf), except that the
CompletenessTest now fails with:
Description: Completeness test with standard mapping, basic
testdata with no relationships.
There was 1 error:
1)
test(org.apache.jdo.tck.mapping.CompletenessTest)javax.jdo.JDODataStoreException:
Fetch request failed: SELECT applicationidentity0.PERSONS.PERSONID
FROM applicationidentity0.PERSONS LEFT OUTER JOIN
applicationidentity0.PERSONS ON
applicationidentity0.PERSONS.PERSONID =
applicationidentity0.PERSONS.MENTOR WHERE
(applicationidentity0.PERSONS.PERSONID = ?)
at
org.jpox.store.rdbms.request.FetchRequest.execute(FetchRequest.java:196)
at
org.jpox.store.rdbms.table.ClassTable.fetch(ClassTable.java:1771)
at org.jpox.store.StoreManager.fetch(StoreManager.java:684)
at
org.jpox.state.StateManagerImpl.loadNonDFGFields(StateManagerImpl.java:1612)
at
org.jpox.state.StateManagerImpl.isLoaded(StateManagerImpl.java:1733)
at
org.apache.jdo.tck.pc.company.Employee.jdoGetprotege(Employee.java)
at
org.apache.jdo.tck.pc.company.Employee.deepCompareFields(Employee.java:455)
at
org.apache.jdo.tck.pc.company.FullTimeEmployee.deepCompareFields(FullTimeEmployee.java:119)
at
org.apache.jdo.tck.mapping.CompletenessTest.test(CompletenessTest.java:102)
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:203)
at
org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:128)
at
org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:106)
NestedThrowablesStackTrace:
ERROR 42X03: Column name 'APPLICATIONIDENTITY0.PERSONS.PERSONID' is
in more than one table in the FROM list.
at
org.apache.derby.iapi.error.StandardException.newException(StandardException.java)
at
org.apache.derby.impl.sql.compile.JoinNode.getMatchingColumn(JoinNode.java)
at
org.apache.derby.impl.sql.compile.FromList.bindColumnReference(FromList.java)
at
org.apache.derby.impl.sql.compile.ColumnReference.bindExpression(ColumnReference.java)
at
org.apache.derby.impl.sql.compile.ResultColumn.bindExpression(ResultColumn.java)
at
org.apache.derby.impl.sql.compile.ResultColumnList.bindExpressions(ResultColumnList.java)
at
org.apache.derby.impl.sql.compile.SelectNode.bindExpressions(SelectNode.java)
at
org.apache.derby.impl.sql.compile.DMLStatementNode.bindExpressions(DMLStatementNode.java)
at
org.apache.derby.impl.sql.compile.DMLStatementNode.bind(DMLStatementNode.java)
at
org.apache.derby.impl.sql.compile.ReadCursorNode.bind(ReadCursorNode.java)
at
org.apache.derby.impl.sql.compile.CursorNode.bind(CursorNode.java)
at
org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java)
at
org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java)
at
org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(EmbedPreparedStatement.java)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(EmbedPreparedStatement20.java)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(EmbedPreparedStatement30.java)
at
org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Driver30.java)
at
org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java)
at
org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java)
at
com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:303)
at
org.jpox.store.rdbms.request.FetchRequest.execute(FetchRequest.java:140)
at
org.jpox.store.rdbms.table.ClassTable.fetch(ClassTable.java:1771)
at org.jpox.store.StoreManager.fetch(StoreManager.java:684)
at
org.jpox.state.StateManagerImpl.loadNonDFGFields(StateManagerImpl.java:1612)
at
org.jpox.state.StateManagerImpl.isLoaded(StateManagerImpl.java:1733)
at
org.apache.jdo.tck.pc.company.Employee.jdoGetprotege(Employee.java)
at
org.apache.jdo.tck.pc.company.Employee.deepCompareFields(Employee.java:455)
at
org.apache.jdo.tck.pc.company.FullTimeEmployee.deepCompareFields(FullTimeEmployee.java:119)
at
org.apache.jdo.tck.mapping.CompletenessTest.test(CompletenessTest.java:102)
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:203)
at
org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:128)
at
org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:106)
Do you have an idea of what is going on here?
-- Michelle
Michael Bouschen wrote:
Hi Craig, hi Michelle, hi Michael,
I'm sending this email directly to you because we still have
problems sending email to the jdo-dev alias.
Attached you find the patch for adding a root object to the
completeness test. This patch also fixes the problem described in
JIRA JDO-69, because now only the instances in lists in the root
object are made persistent. I assigned JDO-69 to me.
- It changes the xml files by adding a new bean of type ArrayList
having the name "root". It lists all the pc instances that define
the "root instances of islands of non-connected object graphs".
- I fixed a bug in companyNoRelationships.xml: there were holes in
the the sequence of constructor argument index numbers.
- I changed class CompletenessTest to read the "root" list and
make all instances of that list persistent.
- All the company classes now define a toString method.
- There query tests had its own company.xml file defining
different instances than the company.xml under testdata. So I
cannot use testdata company.xml file for the query test. Instead I
moved query version to the testdata directory and renamed it to
companyForQueryTests.xml.
Regards Michael
[...]