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