Hi Michelle,

I believe you will find the test itself is different. You could make the test cases the same between the two projects as an alternative to updating the exclude list.

Craig

On Oct 9, 2008, at 1:33 PM, Michelle Caisse wrote:

Is the query test expected to fail only for tck2-legacy? Right now the exclude lists for tck2 and tck2-legacy are identical, yet the test only fails in tck2-legacy.

-- Michelle

Craig L Russell wrote:
Hi Michelle,

The signature file should have the FetchGroup and TransactionIsolation APIs added.

The query failure is a known failure and the failing test should be added to the exclude list.

Good news. The RI has all of these methods that were added to the api-legacy interfaces. We don't need to go through all the tck2- legacy, just make the existing tests work. We can defer adding tests to a point in time where someone wants to own the tck2-legacy code.

Craig

On Oct 9, 2008, at 11:08 AM, Michelle Caisse wrote:

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.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(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

Craig L Russell
Architect, Sun Java Enterprise System http://db.apache.org/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!


Craig L Russell
Architect, Sun Java Enterprise System http://db.apache.org/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to