|
[
Permlink
| « Hide
]
Andy Jefferson added a comment - 09/Sep/06 07:04 AM
Patch to fix broken enhancement due to typo
The ORM file contains no <field> mappings for the "role" field of Employee (the key in the Map). Not the cause of the issue but if you expect implementations to match to your schema you need to include them.
JPOX has had some changes in CVS to allow for value class using superclass-table when also having a (map) key field as part of the value.
Can't check this further since a). the test is not run when calling "maven -o runtck.jdori" b). the schema (DATASTOREIDENTITY9) is not installed when calling "maven -o clean installSchema" Thanks for the patch. I checked in some changes (revision: 443469).
- added companyMapWithoutJoin.conf to configurations.list so that this test runs with maven runtck.jdori and the schema installs with maven installSchema. - Added missing entry for role to .orm and schema Now I get: [java] NestedThrowablesStackTrace: [java] javax.jdo.JDODataStoreException: Insert request failed: INSERT INTO datastoreidentity9.PERSONS (BIRTHDATE,HIREDATE,MANAGER,FIRSTNAME,MIDDLENAME,DEPAR NID,"ROLE",LASTNAME,FUNDINGDEPT,SALARY,DISCRIMINATOR) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) [java] at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:406) [java] at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2459) ... [java] NestedThrowablesStackTrace: [java] ERROR 23502: Column 'EMPID' cannot accept a NULL value. [java] at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) ... I think this is my problem.
Fixed schema with revision: 443485. Now:
[java] 1) test(org.apache.jdo.tck.mapping.CompletenessTestMap)javax.jdo.JDOException: Unexpected error during precommit [java] at org.jpox.AbstractPersistenceManager.preCommit(AbstractPersistenceManager.java:3384) [java] at org.jpox.NonmanagedTransaction.commit(NonmanagedTransaction.java:492) [java] at org.apache.jdo.tck.mapping.CompletenessTestMap.localSetUp(CompletenessTestMap.java:84) [java] at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:236) [java] at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:252) [java] at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107) [java] at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147) [java] at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122) [java] NestedThrowablesStackTrace: [java] java.lang.NullPointerException [java] at org.jpox.store.rdbms.scostore.MapValueSetStore.getIteratorStatement(MapValueSetStore.java:207) [java] at org.jpox.store.rdbms.scostore.AbstractSetStore.iterator(AbstractSetStore.java:101) [java] at org.jpox.sco.SCOUtils.populateMapDelegateWithStoreData(SCOUtils.java:806) [java] at org.jpox.sco.Map.loadFromStore(Map.java:891) [java] at org.jpox.sco.Map.entrySet(Map.java:595) [java] at org.jpox.sco.Map.runReachability(Map.java:325) [java] at org.jpox.state.StateManagerImpl.runReachability(StateManagerImpl.java:3453) [java] at org.jpox.sco.HashSet.runReachability(HashSet.java:296) [java] at org.jpox.state.StateManagerImpl.runReachability(StateManagerImpl.java:3453) [java] at org.jpox.AbstractPersistenceManager.preCommit(AbstractPersistenceManager.java:3303) [java] at org.jpox.NonmanagedTransaction.commit(NonmanagedTransaction.java:492) [java] at org.apache.jdo.tck.mapping.CompletenessTestMap.localSetUp(CompletenessTestMap.java:84) [java] at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:236) [java] at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:252) [java] at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:107) [java] at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:147) [java] at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:122) I added a similar test for Lists, which fails trying to insert a row into table COMPANY instead of COMPANIES.
To run a single test, do: maven -Djdo.tck.cfglist=companyListWithoutJoin.conf installSchema maven -Djdo.tck.cfglist=companyListWithoutJoin.conf runtck.jdori Map test passes with JPOX CVS.
Perhaps move your List issue to a different JIRA since it is unrelated to Maps. On the issue of a ListWithoutJoin please look at the file
src/orm/datastoreidentity/org/apache/jdo/tck/pc/companyListWithoutJoin/package-standard10.orm and look at the package name specified. It is a cut-paste of companyMapWithoutJoin so JPOX doesnt use that ORM metadata for the classes required. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||