Some things need to be ported to tck2-legacy. Signature test fails and a query test fails (both identity types). 1) testSignatures(org.apache.jdo.tck.api.SignatureTest)junit.framework.AssertionFailedError: API Signature Test failed: Found problems or signature descrepancies. Test Output: parsing descriptor file: c:\jdo\branches\2.2\tck2-legacy/src/conf/jdo-2_2-signatures.txt --- non-standard, public member; found: public static final java.lang.String TX_READ_COMMITTED class: public abstract interface javax.jdo.Constants --- non-standard, public member; found: public static final java.lang.String TX_SNAPSHOT class: public abstract interface javax.jdo.Constants --- non-standard, public member; found: public static final java.lang.String TX_READ_UNCOMMITTED class: public abstract interface javax.jdo.Constants --- non-standard, public member; found: public static final java.lang.String TX_REPEATABLE_READ class: public abstract interface javax.jdo.Constants --- non-standard, public member; found: public static final java.lang.String TX_SERIALIZABLE class: public abstract interface javax.jdo.Constants --- non-standard, public member; found: public abstract javax.jdo.FetchGroup getFetchGroup(java.lang.Class, java.lang.String) class: public abstract interface javax.jdo.PersistenceManager --- non-standard, public member; found: public abstract javax.jdo.FetchGroup getFetchGroup(java.lang.Class, java.lang.String) class: public abstract interface javax.jdo.PersistenceManagerFactory extends java.io.Serializable --- non-standard, public member; found: public abstract void removeAllFetchGroups() class: public abstract interface javax.jdo.PersistenceManagerFactory extends java.io.Serializable --- non-standard, public member; found: public abstract void setTransactionIsolationLevel(java.lang.String) class: public abstract interface javax.jdo.PersistenceManagerFactory extends java.io.Serializable --- non-standard, public member; found: public abstract void addFetchGroups(javax.jdo.FetchGroup[]) class: public abstract interface javax.jdo.PersistenceManagerFactory extends java.io.Serializable --- non-standard, public member; found: public abstract java.lang.String getTransactionIsolationLevel() class: public abstract interface javax.jdo.PersistenceManagerFactory extends java.io.Serializable --- non-standard, public member; found: public abstract void removeFetchGroups(javax.jdo.FetchGroup[]) class: public abstract interface javax.jdo.PersistenceManagerFactory extends java.io.Serializable --- non-standard, public member; found: public abstract java.util.Set getFetchGroups() class: public abstract interface javax.jdo.PersistenceManagerFactory extends java.io.Serializable --- non-standard, public member; found: public abstract void setIsolationLevel(java.lang.String) class: public abstract interface javax.jdo.Transaction --- non-standard, public member; found: public abstract java.lang.String getIsolationLevel() class: public abstract interface javax.jdo.Transaction Signature Test Results ====================== tested features: 834 Successes: matching features: 834 loadable classes: 94 Failures: missing features: 0 non-matching features: 0 non-standard features: 15 unloadable classes: 0 other problems: 0 at org.apache.jdo.tck.JDO_Test.fail(JDO_Test.java:644) at org.apache.jdo.tck.api.SignatureTest.testSignatures(SignatureTest.java:99) 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:259) at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108) at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148) at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123) FAILURES!!! derby-app-runonce-junit.txt: ** Tests run: 002, Time: 007 seconds. Failures: 1, Errors: 0 Excluded tests: [org.apache.jdo.tck.enhancement.FieldAccessModified, org.apache.jdo.tck.enhancement.ImplementsPersistenceCapable] testNavigationWithThisAndCompany(org.apache.jdo.tck.query.result.VariableInResultNavigation)javax.jdo.JDOException: JDOException thrown while executing query: SELECT this, e, p FROM org.apache.jdo.tck.pc.company.Company WHERE name == "Sun Microsystems, Inc." && departments.contains(d) && d.employees.contains(e) && e.projects.contains(p) VARIABLES Department d; Employee e; Project p at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1314) at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1135) at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1071) at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1051) at org.apache.jdo.tck.query.result.VariableInResultNavigation.testNavigationWithThisAndCompany(VariableInResultNavigation.java:251) 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:259) at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108) at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148) at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123) NestedThrowablesStackTrace: javax.jdo.JDODataStoreException: Error executing JDOQL query "SELECT THIS.ID,UNBOUND_E.PERSONID,UNBOUND_P.PROJID FROM applicationidentity0.COMPANIES THIS , applicationidentity0.PERSONS UNBOUND_E , applicationidentity0.PROJECTS UNBOUND_P WHERE EXISTS (SELECT 1 FROM applicationidentity0.DEPARTMENTS THIS_DEPARTMENTS_D WHERE EXISTS (SELECT 1 FROM applicationidentity0.PERSONS THIS_DEPARTMENTS_D_EMPLOYEES_E WHERE THIS_DEPARTMENTS_D_EMPLOYEES_E.DEPARTMENT = THIS_DEPARTMENTS_D.ID AND THIS_DEPARTMENTS_D.COMPANYID = THIS.ID AND THIS."NAME" = ?)) AND EXISTS (SELECT 1 FROM applicationidentity0.PROJECT_MEMBER THIS_DEPARTMENTS_D_EMPLOYEES_E_PROJECTS_P WHERE THIS_DEPARTMENTS_D_EMPLOYEES_E_PROJECTS_P."MEMBER" = THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID AND UNBOUND_P.PROJID = THIS_DEPARTMENTS_D_EMPLOYEES_E_PROJECTS_P.PROJID)" : Column 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE statement then 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is not a column in the target table.. at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:334) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:224) at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1257) at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1135) at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1071) at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1051) at org.apache.jdo.tck.query.result.VariableInResultNavigation.testNavigationWithThisAndCompany(VariableInResultNavigation.java:251) 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:259) at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108) at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148) at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123) NestedThrowablesStackTrace: java.sql.SQLSyntaxErrorException: Column 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE statement then 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is not a column in the target table. at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement.(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.(Unknown Source) at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) at com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:241) at org.datanucleus.store.rdbms.SQLController.getStatementForQuery(SQLController.java:313) at org.datanucleus.store.rdbms.query.RDBMSQueryUtils.getPreparedStatementForQuery(RDBMSQueryUtils.java:266) at org.datanucleus.store.rdbms.query.SQLEvaluator.evaluate(SQLEvaluator.java:114) at org.datanucleus.store.rdbms.query.JDOQLQuery.performExecute(JDOQLQuery.java:278) at org.datanucleus.store.query.Query.executeQuery(Query.java:1361) at org.datanucleus.store.rdbms.query.JDOQLQuery.executeQuery(JDOQLQuery.java:226) at org.datanucleus.store.query.Query.executeWithArray(Query.java:1269) at org.datanucleus.store.query.Query.execute(Query.java:1208) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:215) at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1257) at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1135) at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1071) at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1051) at org.apache.jdo.tck.query.result.VariableInResultNavigation.testNavigationWithThisAndCompany(VariableInResultNavigation.java:251) 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:259) at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108) at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148) at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123) Caused by: java.sql.SQLException: Column 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE statement then 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is not a column in the target table. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source) ... 46 more Caused by: ERROR 42X04: Column 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE statement then 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is not a column in the target table. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.sql.compile.ColumnReference.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.BinaryOperatorNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.BinaryComparisonOperatorNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.BinaryOperatorNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.BinaryLogicalOperatorNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.AndNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.SelectNode.bindExpressions(Unknown Source) at org.apache.derby.impl.sql.compile.SubqueryNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.BinaryOperatorNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.BinaryLogicalOperatorNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.AndNode.bindExpression(Unknown Source) at org.apache.derby.impl.sql.compile.SelectNode.bindExpressions(Unknown Source) at org.apache.derby.impl.sql.compile.DMLStatementNode.bindExpressions(Unknown Source) at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(Unknown Source) at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(Unknown Source) at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source) at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source) at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source) ... 40 more FAILURES!!! Error summary: 001 error: ERROR 42X04: Column 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE statement then 'THIS_DEPARTMENTS_D_EMPLOYEES_E.PERSONID' is not a column in the target table. derby-app-query-junit.txt: ** Tests run: 151, Time: 086 seconds. Failures: 0, Errors: 1 Excluded tests: [org.apache.jdo.tck.enhancement.FieldAccessModified, org.apache.jdo.tck.enhancement.ImplementsPersistenceCapable] -- Michelle