db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: [jira] Commented: (JDO-375) Company model tables are not fully cleaned up
Date Mon, 01 May 2006 01:02:03 GMT
WooHoo!

Congratulations.

[could you upload the jar files to JIRA so we can all check it out?]

Good job.

Craig

On Apr 30, 2006, at 5:36 PM, Erik Bengtson wrote:

> Hi,
>
> JPOX HEAD pass all tests and correctly clean database.
>
> Cheers
>
> Quoting "Michael Bouschen (JIRA)" <jira@apache.org>:
>
>>     [
>> http://issues.apache.org/jira/browse/JDO-375? 
>> page=comments#action_12377192 ]
>>
>> Michael Bouschen commented on JDO-375:
>> --------------------------------------
>>
>> The fknames patch looks good!
>>
>>> Company model tables are not fully cleaned up
>>> ---------------------------------------------
>>>
>>>          Key: JDO-375
>>>          URL: http://issues.apache.org/jira/browse/JDO-375
>>>      Project: JDO
>>>         Type: Bug
>>
>>>   Components: tck20
>>>     Versions: JDO 2 rc1
>>>     Reporter: Erik Bengtson
>>>     Assignee: Erik Bengtson
>>>      Fix For: JDO 2 final
>>>  Attachments: JDO-375-2.patch, JDO-375-fknames.patch, JDO-375.patch
>>>
>>> Tables from company model does not appear to be clean after run.
>>> I can't say if this is a JPOX or TCK issue, because I did not dig  
>>> into the
>> issue.
>>> On second run, exceptions are like
>>>> 1)
>>>>
>>
> test 
> (org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstanc 
> esMadePersistentViaReachability)javax.jdo.JDODataStoreException:
>>>> Insert request failed: INSERT INTO applicationidentity0.COMPANIES
>>>>
>>
> ("NAME",FOUNDEDDATE,ADDRID,CITY,COUNTRY,"STATE",STREET,ZIPCODE,ID,DISC 
> RIMINATOR)
>>>> VALUES (?,?,?,?,?,?,?,?,?,?)
>>>>         at
>> org.jpox.store.rdbms.request.InsertRequest.execute 
>> (InsertRequest.java:393)
>>>>         at
>> org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
>>>>         at org.jpox.store.StoreManager.insert(StoreManager.java: 
>>>> 757)
>>>>         at
>>>>
>>
> org.jpox.state.StateManagerImpl.internalMakePersistent 
> (StateManagerImpl.java:3456)
>>>>         at
>> org.jpox.state.StateManagerImpl.makePersistent 
>> (StateManagerImpl.java:3429)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.internalMakePersistent 
> (AbstractPersistenceManager.java:1150)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.makePersistent 
> (AbstractPersistenceManager.java:1205)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstance 
> sMadePersistentViaReachability.createObjects 
> (GetExtentWithInstancesMadePersistentViaReachability.java:72)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstance 
> sMadePersistentViaReachability.test 
> (GetExtentWithInstancesMadePersistentViaReachability.java:63)
>>>>         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:237)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java: 
>> 107)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java: 
>> 147)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java: 
>> 122)
>>>> NestedThrowablesStackTrace:
>>>> ERROR 23505: The statement was aborted because it would have  
>>>> caused a
>> duplicate
>>>> key value in a unique or primary key constraint or unique index
>> identified by
>>>> 'COMPS_PK' defined on 'COMPANIES'.
>>>>         at
>> org.apache.derby.iapi.error.StandardException.newException(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups 
>> (Unknown
>>>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown  
>> Source)
>>>>         at org.apache.derby.impl.sql.execute.IndexChanger.insert 
>>>> (Unknown
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore 
>> (Unknown
>>>> Source)
>>>>         at org.apache.derby.impl.sql.execute.InsertResultSet.open 
>>>> (Unknown
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement 
>> (Unknown
>>>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown  
>> Source)
>>>>         at
>>>>
>>
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute 
> (NewProxyPreparedStatement.java:911)
>>>>         at
>>>>
>>
> org.jpox.store.rdbms.ParamLoggingPreparedStatement.execute 
> (ParamLoggingPreparedStatement.java:212)
>>>>         at
>> org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:88)
>>>>         at
>> org.jpox.store.rdbms.request.InsertRequest.execute 
>> (InsertRequest.java:267)
>>>>         at
>> org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
>>>>         at org.jpox.store.StoreManager.insert(StoreManager.java: 
>>>> 757)
>>>>         at
>>>>
>>
> org.jpox.state.StateManagerImpl.internalMakePersistent 
> (StateManagerImpl.java:3456)
>>>>         at
>> org.jpox.state.StateManagerImpl.makePersistent 
>> (StateManagerImpl.java:3429)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.internalMakePersistent 
> (AbstractPersistenceManager.java:1150)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.makePersistent 
> (AbstractPersistenceManager.java:1205)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstance 
> sMadePersistentViaReachability.createObjects 
> (GetExtentWithInstancesMadePersistentViaReachability.java:72)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithInstance 
> sMadePersistentViaReachability.test 
> (GetExtentWithInstancesMadePersistentViaReachability.java:63)
>>>>         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:237)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java: 
>> 107)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java: 
>> 147)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java: 
>> 122)
>>>> 2)
>>>>
>>
> test 
> (org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclas 
> ses)javax.jdo.JDODataStoreException:
>>>> Insert request failed: INSERT INTO applicationidentity0.PERSONS
>>>>
>>
> (ADDRID,CITY,COUNTRY,"STATE",STREET,ZIPCODE,FIRSTNAME,BIRTHDATE,MIDDLE 
> NAME,LASTNAME,PERSONID,DISCRIMINATOR)
>>>> VALUES (?,?,?,?,?,?,?,?,?,?,?,?)
>>>>         at
>> org.jpox.store.rdbms.request.InsertRequest.execute 
>> (InsertRequest.java:393)
>>>>         at
>> org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
>>>>         at org.jpox.store.StoreManager.insert(StoreManager.java: 
>>>> 757)
>>>>         at
>>>>
>>
> org.jpox.state.StateManagerImpl.internalMakePersistent 
> (StateManagerImpl.java:3456)
>>>>         at
>> org.jpox.state.StateManagerImpl.makePersistent 
>> (StateManagerImpl.java:3429)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.internalMakePersistent 
> (AbstractPersistenceManager.java:1150)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.makePersistent 
> (AbstractPersistenceManager.java:1205)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclass 
> es.createObjects(GetExtentWithSubclasses.java:86)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclass 
> es.test(GetExtentWithSubclasses.java:73)
>>>>         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:237)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java: 
>> 107)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java: 
>> 147)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java: 
>> 122)
>>>> NestedThrowablesStackTrace:
>>>> ERROR 23505: The statement was aborted because it would have  
>>>> caused a
>> duplicate
>>>> key value in a unique or primary key constraint or unique index
>> identified by
>>>> 'EMPS_PK' defined on 'PERSONS'.
>>>>         at
>> org.apache.derby.iapi.error.StandardException.newException(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups 
>> (Unknown
>>>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown  
>> Source)
>>>>         at org.apache.derby.impl.sql.execute.IndexChanger.insert 
>>>> (Unknown
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore 
>> (Unknown
>>>> Source)
>>>>         at org.apache.derby.impl.sql.execute.InsertResultSet.open 
>>>> (Unknown
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement 
>> (Unknown
>>>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown  
>> Source)
>>>>         at
>>>>
>>
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute 
> (NewProxyPreparedStatement.java:911)
>>>>         at
>>>>
>>
> org.jpox.store.rdbms.ParamLoggingPreparedStatement.execute 
> (ParamLoggingPreparedStatement.java:212)
>>>>         at
>> org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:88)
>>>>         at
>> org.jpox.store.rdbms.request.InsertRequest.execute 
>> (InsertRequest.java:267)
>>>>         at
>> org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
>>>>         at org.jpox.store.StoreManager.insert(StoreManager.java: 
>>>> 757)
>>>>         at
>>>>
>>
> org.jpox.state.StateManagerImpl.internalMakePersistent 
> (StateManagerImpl.java:3456)
>>>>         at
>> org.jpox.state.StateManagerImpl.makePersistent 
>> (StateManagerImpl.java:3429)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.internalMakePersistent 
> (AbstractPersistenceManager.java:1150)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.makePersistent 
> (AbstractPersistenceManager.java:1205)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclass 
> es.createObjects(GetExtentWithSubclasses.java:86)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.extent.GetExtentWithSubclass 
> es.test(GetExtentWithSubclasses.java:73)
>>>>         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:237)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java: 
>> 107)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java: 
>> 147)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java: 
>> 122)
>>>> 3)
>>>>
>>
> test 
> (org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAnd 
> InstancesNotReachable)javax.jdo.JDODataStoreException:
>>>> Insert request failed: INSERT INTO applicationidentity0.COMPANIES
>>>>
>>
> ("NAME",FOUNDEDDATE,ADDRID,CITY,COUNTRY,"STATE",STREET,ZIPCODE,ID,DISC 
> RIMINATOR)
>>>> VALUES (?,?,?,?,?,?,?,?,?,?)
>>>>         at
>> org.jpox.store.rdbms.request.InsertRequest.execute 
>> (InsertRequest.java:393)
>>>>         at
>> org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
>>>>         at org.jpox.store.StoreManager.insert(StoreManager.java: 
>>>> 757)
>>>>         at
>>>>
>>
> org.jpox.state.StateManagerImpl.internalMakePersistent 
> (StateManagerImpl.java:3456)
>>>>         at
>> org.jpox.state.StateManagerImpl.makePersistent 
>> (StateManagerImpl.java:3429)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.internalMakePersistent 
> (AbstractPersistenceManager.java:1150)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.makePersistent 
> (AbstractPersistenceManager.java:1205)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndI 
> nstancesNotReachable.createObjects 
> (MakePersistentAndInstancesNotReachable.java:85)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndI 
> nstancesNotReachable.test 
> (MakePersistentAndInstancesNotReachable.java:69)
>>>>         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:237)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java: 
>> 107)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java: 
>> 147)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java: 
>> 122)
>>>> NestedThrowablesStackTrace:
>>>> ERROR 23505: The statement was aborted because it would have  
>>>> caused a
>> duplicate
>>>> key value in a unique or primary key constraint or unique index
>> identified by
>>>> 'COMPS_PK' defined on 'COMPANIES'.
>>>>         at
>> org.apache.derby.iapi.error.StandardException.newException(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups 
>> (Unknown
>>>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown  
>> Source)
>>>>         at org.apache.derby.impl.sql.execute.IndexChanger.insert 
>>>> (Unknown
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore 
>> (Unknown
>>>> Source)
>>>>         at org.apache.derby.impl.sql.execute.InsertResultSet.open 
>>>> (Unknown
>> Source)
>>>>         at
>> org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown  
>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement 
>> (Unknown
>>>> Source)
>>>>         at
>> org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown  
>> Source)
>>>>         at
>>>>
>>
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute 
> (NewProxyPreparedStatement.java:911)
>>>>         at
>>>>
>>
> org.jpox.store.rdbms.ParamLoggingPreparedStatement.execute 
> (ParamLoggingPreparedStatement.java:212)
>>>>         at
>> org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:88)
>>>>         at
>> org.jpox.store.rdbms.request.InsertRequest.execute 
>> (InsertRequest.java:267)
>>>>         at
>> org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2171)
>>>>         at org.jpox.store.StoreManager.insert(StoreManager.java: 
>>>> 757)
>>>>         at
>>>>
>>
> org.jpox.state.StateManagerImpl.internalMakePersistent 
> (StateManagerImpl.java:3456)
>>>>         at
>> org.jpox.state.StateManagerImpl.makePersistent 
>> (StateManagerImpl.java:3429)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.internalMakePersistent 
> (AbstractPersistenceManager.java:1150)
>>>>         at
>>>>
>>
> org.jpox.AbstractPersistenceManager.makePersistent 
> (AbstractPersistenceManager.java:1205)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndI 
> nstancesNotReachable.createObjects 
> (MakePersistentAndInstancesNotReachable.java:85)
>>>>         at
>>>>
>>
> org.apache.jdo.tck.api.persistencemanager.lifecycle.MakePersistentAndI 
> nstancesNotReachable.test 
> (MakePersistentAndInstancesNotReachable.java:69)
>>>>         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:237)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java: 
>> 107)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java: 
>> 147)
>>>>         at
>> org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java: 
>> 122)
>>>> FAILURES!!!
>>>> Error summary:
>>>> 001 error:  SQL Exception: The statement was aborted because it  
>>>> would
>> have
>>>> caused a duplicate key value in a unique or primary key  
>>>> constraint or
>> unique
>>>> index identified by 'EMPS_PK' defined on 'PERSONS'.
>>>> 002 errors: SQL Exception: The statement was aborted because it  
>>>> would
>> have
>>>> caused a duplicate key value in a unique or primary key  
>>>> constraint or
>> unique
>>>> index identified by 'COMPS_PK' defined on 'COMPANIES'.
>>>> derby-app-pm-junit.txt:
>>>>     ** Tests run: 099, Time: 032 seconds. Failures: 0, Errors: 3
>>>> Excluded tests:  
>>>> [org.apache.jdo.tck.enhancement.FieldAccessModified,
>>>> org.apache.jdo.tck.enhancement.ImplementsPersistenceCapable]
>>>>
>>
>> --
>> This message is automatically generated by JIRA.
>> -
>> If you think it was sent incorrectly contact one of the  
>> administrators:
>>    http://issues.apache.org/jira/secure/Administrators.jspa
>> -
>> For more information on JIRA, see:
>>    http://www.atlassian.com/software/jira
>>
>>
>
>
>

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Mime
View raw message